jquery ajax cross,javascript - jQuery AJAX cross domain - Stack Overflow

东方旺
2023-12-01

I had to load webpage from local disk "file:///C:/test/htmlpage.html", call "http://localhost/getxml.php" url, and do this in IE8+ and Firefox12+ browsers, use jQuery v1.7.2 lib to minimize boilerplate code. After reading dozens of articles finally figured it out. Here is my summary.

server script (.php, .jsp, ...) must return http response header Access-Control-Allow-Origin: *

before using jQuery ajax set this flag in javascript: jQuery.support.cors = true;

you may set flag once or everytime before using jQuery ajax function

now I can read .xml document in IE and Firefox. Other browsers I did not test.

response document can be plain/text, xml, json or anything else

Here is an example jQuery ajax call with some debug sysouts.

jQuery.support.cors = true;

$.ajax({

url: "http://localhost/getxml.php",

data: { "id":"doc1", "rows":"100" },

type: "GET",

timeout: 30000,

dataType: "text", // "xml", "json"

success: function(data) {

// show text reply as-is (debug)

alert(data);

// show xml field values (debug)

//alert( $(data).find("title").text() );

// loop JSON array (debug)

//var str="";

//$.each(data.items, function(i,item) {

// str += item.title + "\n";

//});

//alert(str);

},

error: function(jqXHR, textStatus, ex) {

alert(textStatus + "," + ex + "," + jqXHR.responseText);

}

});

 类似资料: