我有一个php文件,它访问memcache并获取存储的javascript代码。然后该文件回显js内容。我正在使用iFrame访问此文件。但现在需要在不使用iFrame的情况下获取此JS代码。我正在考虑进行AJAX调用并获取该js代码。问题是,那个php文件是跨域的。我了解到ajax无法跨浏览器运行。 JSONP持有答案。但我不懂语法。我检查了很多文件,但无法弄清楚如何去做。
这是我的php文件memcacheJs.php:
$id = $_GET['mc_id'];
$js_code = $memcacheRW->get($id);
echo $js_code;
$memcacheRW -> delete($id);
我必须调用此文件,发送mc_id,将js_code作为ajax响应。我尝试了这个jquery代码:
var jsCode = "js_code="+_cO.cmK[keyword].ad[0][4];
var crossDomURL = "http://ph.cm.shades1ld1/frame2.php";
$pH.getJSON(crossDomURL+"&callback=?", function(data) {alert(data);});
但它不起作用,该怎么办? 请帮忙
答案 0 :(得分:1)
您必须匹配回调函数,请查看 jsonpCallback 参数。这是一个使用jsonP(简化)的工作示例。
$.ajax({
url: "/myUrl.php",
data: {
'date' : '2011-01-01',
'specie' : 'cervus'
},
dataType : 'jsonp',
jsonpCallback: 'onModify',
success: function(data){
console.log(data);
return false;
}
});
//the php code
$data = array('some', 'values', 'in','response');
echo "onModify(". json_encode($data).")";