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”,此回调有效。怎么解决?
答案 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响应 您需要修复服务器端代码,以便它不会这样做。