getJSON有一些符号麻烦

时间:2013-04-30 19:35:27

标签: jquery ajax getjson

getJSON在url

中包含一些符号

当我尝试这个时:

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);

回调不起作用,但当我删除“&lt;”时或“&gt;”来自“lics”的符号或来自“javascript”的字母“t”,此回调有效。怎么解决?

3 个答案:

答案 0 :(得分:1)

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

$.getJSON('file.php', {
    cb: '?',
    bin: myvar
}, function(result) {...});

答案 1 :(得分:0)

您需要对<%3C>%3E进行网址编码。以下是对需要编码的字符的引用,http://www.w3schools.com/tags/ref_urlencode.asp

有关如何使用javascript进行编码,请参阅this帖子。

答案 2 :(得分:0)

您的服务器正在发送HTTP 403 Forbidden响应 您需要修复服务器端代码,以便它不会这样做。