首頁  >  文章  >  web前端  >  如何使用 jQuery 發出跨域 AJAX JSONP 請求?

如何使用 jQuery 發出跨域 AJAX JSONP 請求?

Barbara Streisand
Barbara Streisand原創
2024-11-25 15:21:13380瀏覽

How Can I Make Cross-Domain AJAX JSONP Requests with jQuery?

使用jQuery 發出跨域AJAX JSONP 請求

在您的程式碼片段中,您嘗試從使用jQuery 的AJAX 功能託管在不同域上的服務。但是,跨域 AJAX 請求需要額外考慮才能成功。

跨域 AJAX

預設情況下,瀏覽器將 AJAX 請求限制為同源 URL出於安全考慮。為了克服這個問題,您必須實作 JSONP(帶有 Padding 的 JSON),它允許您使用 <script> 來發出跨域請求。 </script>

方法注入

在你的伺服器端程式碼中,你需要支援方法注入。當您將 jQuery 與「dataType: 'jsonp'」一起使用時,它會使用隨機產生的方法名稱將查詢參數附加到 URL。然後,您的伺服器必須使用此方法名稱將 JSON 回應包裝為函數呼叫。

修正的程式碼

確保您的伺服器正確包裝 JSON 回應查詢字串中傳遞的方法名稱。例如,如果您的查詢字串包含 ?callback=my_callback_method,您的伺服器應回應:

my_callback_method({您的 json 序列化資料});

一旦實現,您的 jQuery程式碼應該成功解析JSON資料:



var result;
function jsonparser1() {

$.ajax({
    type: "GET",
    url: "http://10.211.2.219:8080/SampleWebService/sample.do",
    dataType: "jsonp",
    success: function (xml) {
        alert(xml.data[0].city);
        result = xml.code;
        document.myform.result1.value = result;
    },
});

}

以上是如何使用 jQuery 發出跨域 AJAX JSONP 請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn