如何在jquery中从JSONP获取javascript代码

如何在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 =

我有一个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_代码作为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).")";