Pho*_*ics 1 javascript jquery jsonp cross-domain
$.ajax(
{
url : "http://search.twitter.com/search.json?q=google&lang=en&rpp=10&since_id=&callback=?",
dataType : 'json',
success : function(data)
{
alert(data.results.length);
}
});
Run Code Online (Sandbox Code Playgroud)
这究竟是如何工作的?我指的是跨域请求.
jQuery检测到callback=?您网址的一部分并自动将dataType切换'json'为'jsonp'.
JSONP是一个JSON查询,它不是使用XMLHttpRequest创建的,而是通过向页面添加脚本标记.调用程序处理回调到您的脚本,并在脚本加载时提供要执行的JavaScript函数的名称.这就是跨域工作的原因.
jQuery将在$ .ajax请求中透明地处理JSONP.手册(以及我更干净)的方法是定义'jsonp'dataType并?在URL中使用占位符作为回调名称.jQuery会自动替换?一个合适的值来触发你的成功回调.
$.ajax(
{
url : "http://api.twitter.com/1/users/show/google.json&jsoncallback=?",
dataType : 'jsonp',
success : function(data)
{
alert(data.results.length);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
682 次 |
| 最近记录: |