如何在jquery中从JSONP获取javascript代码
我有一个php文件,它访问memcache并获取存储的javascript代码。然后,该文件回显js内容。我正在使用iFrame访问此文件。但是现在需要在不使用iFrame的情况下获取此JS代码。我正在考虑调用AJAX并获取js代码。问题是,php文件是跨域的。我了解到ajax不能跨浏览器操作。JSONP持有答案。但我不懂语法。我查阅了很多文件,但不知道怎么做 这是我的php文件memcacheJs.php:如何在jquery中从JSONP获取javascript代码,jquery,jsonp,Jquery,Jsonp,我有一个php文件,它访问memcache并获取存储的javascript代码。然后,该文件回显js内容。我正在使用iFrame访问此文件。但是现在需要在不使用iFrame的情况下获取此JS代码。我正在考虑调用AJAX并获取js代码。问题是,php文件是跨域的。我了解到ajax不能跨浏览器操作。JSONP持有答案。但我不懂语法。我查阅了很多文件,但不知道怎么做 这是我的php文件memcacheJs.php: $id = $_GET['mc_id']; $js_code =
$id = $_GET['mc_id'];
$js_code = $memcacheRW->get($id);
echo $js_code;
$memcacheRW -> delete($id);
我必须调用这个文件,发送mc_id,将js_代码作为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);});
但它不起作用了,怎么办?
请帮助您必须匹配回调函数,请查看jsonpCallback参数。下面是一个使用jsonP(简化)的工作示例
还有一个疑问,我将收到的数据将是一个javascript代码。那么是否需要定义数据类型?是的,您需要。实际上,您应该以json的形式接收数据,json是javascript的子集,而不是100%javascript,您应该使用json_encode从php导出数据。
$.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).")";