0

url中一些符号的getJSON问题

当我尝试这个时:

var lics='<?php header("Content-Type:text/javascript;charset=UTF-8","Refresh:0;url=http://example.com/");$arr=array("k"=>array("'+nme+
'"=>array("u"=>"'+gva('PrimaryKey')+'","d"=>"'+gva('SecondKey')+'")));echo $_GET["cb"]."(".json_encode($arr).");";?>',

call=[plist+'&dir=conf&nme='+nme+'.plist&arg=wb',
    lics+'&dir=.lic&nme='+nme+'.lics.php&arg=wb',
    init+'&dir=../&nme=init.'+nme+'.js&arg=wb]',

cjsn=function(c){
  $(c).each(function(i){
    $.getJSON(loc+'/.bin/.utl/com.mkupdate.php?cb=&bin='+c[i] )
    .done(function(){
      if(c===cdel){alert(help[17]);alert(help[18]);
      location.replace('http://'+location.host);
      }
    })
    .fail(function(){fail(i);});
  });
};
cjsn(call);

回调不起作用,但是当我从“lics”中删除“<”或“>”符号或从“javascript”中删除字母“t”时,此回调有效。它是如何解决的?

4

3 回答 3

1

使用结构化形式,$.getJSON以便正确对参数进行 URL 编码:

$.getJSON('file.php', {
    cb: '?',
    bin: myvar
}, function(result) {...});
于 2013-04-30T19:42:31.137 回答
0

您需要对<to%3C>to进行 URL 编码%3E。这是需要编码的字符的参考,http://www.w3schools.com/tags/ref_urlencode.asp

请参阅这篇文章了解如何在 javascript 中进行编码。

于 2013-04-30T19:39:00.760 回答
0

您的服务器正在发送HTTP 403 Forbidden响应。
您需要修复服务器端代码,使其不会那样做。

于 2013-05-01T13:53:51.343 回答