後臺須要用前臺傳遞的函數名將數據包起來,本質上是一個函數調用,將數據當作參數傳遞回來。ajax
callback({"data": "ok"})
因此普通的ajax請求產生的數據不能用jsonp去請求;
可是一個接口也能夠同時支持普通的ajax請求(返回json對象),和jsonp請求(返回一串js代碼),這須要後臺和前臺約定好一個參數做爲函數名,如callback=cb,後臺判斷是否有這個參數,若是有這個參數就返回jsonp請求。json
因此如今不多用了。跨域
通常的ajax請求都會默認帶上cookie,可是跨域默認不會帶cookie,要帶上cookie必須加一行代碼;服務器
$.ajax({ url : 'http://remote.domain.com/corsrequest', data : data, dataType: 'json', type : 'POST', xhrFields: { withCredentials: true }, ...