由于浏览器的安全限制,大多数“Ajax”的要求,均采用同一起源的政策 ;该请求不能成功地检索来自不同的域,子域或协议的数据。
Script和JSONP形式请求不受同源策略的限制。
例子:
Example: 保存数据到服务器,成功时显示信息。
$.ajax({
type: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
Example: 装入一个 HTML 网页最新版本。
$.ajax({
url: "test.html",
cache: false
}).done(function( html ) {
$("#results").append(html);
});
Example: 发送 XML 数据至服务器。设置 processData 选项为 false,防止自动转换数据格式。
var xmlDocument = [create xml document];
var xmlRequest = $.ajax({
url: "page.php",
processData: false,
data: xmlDocument
});
xmlRequest.done(handleResponse);
Example: 发送id作为数据发送到服务器, 保存一些数据到服务器上, 并通一旦它的完成知用户。 如果请求失败,则提醒用户。
var menuId = $("ul.nav").first().attr("id");
var request = $.ajax({
url: "script.php",
type: "POST",
data: {id : menuId},
dataType: "html"
});
request.done(function(msg) {
$("#log").html( msg );
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
});
Example: 载入并执行一个JavaScript文件.
$.ajax({
type: "GET",
url: "test.js",
dataType: "script"
});
|