簡體   English   中英

使用Javascript $ ajax(設置)發布數據

[英]Posting data using Javascript $ajax(settings)

要求:使用Javascript,我必須執行“ Post”操作。我還需要傳遞2個輸入。一個是數據類型為“ long”的“查詢”參數類型,另一個是數據類型為“ body”的參數類型'Array [long]'。

碼:

<script type="text/javascript">
$(function() {
    var params = {
        // Request parameters
    };

    $.ajax({
       url: "https://api.XXXX.com.au/XXXX/api/V1/XXXXX/some_webservice?param1= 5637161343",

        beforeSend: function(xhrObj){
            // Request headers
           xhrObj.setRequestHeader("ContentType","application/json;charset=utf-8");

        type: "POST",

        // Request body
       data:{Param2:[5637151026]}



    })
    .done(function(data) {
        alert("success");
    })
    .fail(function() {
        alert("error");
    });
});

問題:無法發布。我認為'body parameter'的語法出了問題。

希望您能幫助您解決此問題!

如果ajax調用的查詢參數保持不變,則某些瀏覽器將從緩存中返回先前的響應。 因此,為防止這種情況,請向ajax調用添加虛擬參數,該參數將在每個ajax請求上更改。 像這樣 :

<script type="text/javascript">
$(function() {
    var params = {
        // Request parameters
    };

    $.ajax({
       url: "https://api.XXXX.com.au/XXXX/api/V1/XXXXX/some_webservice?param1= 5637161343",
        cache : false,
        beforeSend: function(xhrObj){
            // Request headers
           xhrObj.setRequestHeader("ContentType","application/json;charset=utf-8");

        type: "POST",

        // Request body
       data:{Param2:[5637151026], extraParam : Math.random() }



    })
    .done(function(data) {
        alert("success");
    })
    .fail(function() {
        alert("error");
    });
});

由於Math.random()瀏覽器在此不會給出緩存的響應。 因為每次extraParam的值都不同。 我還添加了cache : false 這是jQuery防止緩存的默認功能。

解決了問題。問題在於我綁定請求正文的方式-

$(function() {
var params = {
    // Request parameters
};var info=[5637151026];$.ajax({
   url: "https://api.XXXX.com.au/XXXX/api/V1/XXXXX/some_webservice?param1= 5637161343",
    beforeSend: function(xhrObj){
        // Request headers
       xhrObj.setRequestHeader("ContentType","application/json;charset=utf-8");dataType:"json",type: "POST",
    data: JSON.stringify(info)


})
.done(function(data) {
    alert("success");
})
.fail(function() {
    alert("error");
});});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM