Ali*_*sla 19 javascript ajax jquery jquery-ui
我下载了Jquery UI autoload,寻找remote-jsonp.html.这是ajax功能,但我打开控制台..我在控制台中看不到任何请求...
dataType;"jsonp"和dataType;"JSON"之间有什么区别
$( "#city" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: "http://ws.geonames.org/searchJSON",
dataType: "jsonp",
data: {
featureClass: "P",
style: "full",
maxRows: 12,
name_startsWith: request.term
},
success: function( data ) {
response( $.map( data.geonames, function( item ) {
return {
label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
value: item.name
}
}));
}
});
},
Run Code Online (Sandbox Code Playgroud)
the*_*dox 28
dataType: jsonp
对于跨域请求,这意味着请求到不同的域和dataType: json
相同的域 - 相同的源请求.
使用JSONP加载JSON块.添加额外的"?callback =?" 到URL的末尾以指定回调.通过将查询字符串参数"_ = [TIMESTAMP]"附加到URL来禁用缓存,除非缓存选项设置为true.
阅读相同的原产地政策
阅读有关jQuery AJAX的更多信息
使用JSONP,您不应该看到ajax请求,如果这是您正在寻找的.但是,您应该看到对资源的请求,因为JSONP用于跨域调用以从不同域中提取数据.
它返回包含在函数名称中的JSON数据.jQuery处理幕后的函数名称,并将数据传递给成功处理程序.通过动态创建一个脚本元素来加载数据,其中src属性指向被调用的服务,然后附加到浏览器的DOM.然后浏览器向资源发出请求,Web服务使用回调函数和数据进行响应.