2013-01-08 18 views
0

林从外部域数据,jquery的部分是:检索JSONP使用的示例代码我互联网上得到使用jquery

$.ajax({ 
    url: punctis_content_url + "?url=" + encodeURIComponent(document.URL), 
    dataType: 'jsonp', 
    success:function(json){ 
     alert(json); 
    }, 
    error:function(){ 
     alert("Error"); 
    } 
    }); 

和远程服务器上的PHP是:

$arr = array('URL' => $trackUrl, 'param2' => "element2"); 
    echo($_GET['callback']."(".json_encode($arr).");"); 

这工作正常,我得到了jquery的警报,如果我直接调用我得到的服务器脚本:jsonp1357658534513({"URL":"http:\/\/infoabout.me\/punctis\/punctis.php","param2":"element2"});

事情是,如何生成回调代码?,这是什么意思?以及我如何从该json中检索数据(URL和param2),因为只使用json.URL不起作用。谢谢。

+0

您需要了解JSONP的工作原理。 http://en.wikipedia.org/wiki/JSONP – SLaks

回答

0

json在这种情况下是一个javascript对象。只需从其属性中提取数据即可。

alert(json.URL) // $trackUrl value 
alert(json.param2) // element2 
0

JSONP是通过缠绕由JavaScript函数调用产生的JSON字符串创建的,这一个PHP例子是:

$callbackFunction = $_GET['callback']; 
echo $callbackFunction . "(" . json_encode($object) . ")"; 

现在,一旦JSONP被检索的功能被调用时,这个函数可以使用类似jQuery,dojo或其他js框架的自动连接,或者硬编码,例如,可以编写以下函数,并在您的特定情况下调用它。祝你好运!

function jsonp1357658534513(string){ 
    console.log(string); 
} 
相关问题