簡體   English   中英

ajax成功函數未在java腳本中調用

[英]ajax success function not getting called in java script

我正在使用Spring MVC architecture ,在我的應用程序中,我編寫了控制器,這些只是我的服務,它返回 json 對象作為響應。

現在我試圖在 javascript 中使用 ajax 調用來調用該控制器。 我已經為我的一個控制器編寫了 ajax 調用,並且正在從我的客戶端傳遞 JSON 對象,因為它是一個 POST 請求。 在那個 ajax 調用中,每個語句都被正確執行,直到content-type ,但是當涉及到成功函數時,它被直接重定向到錯誤函數而不執行成功函數。

我已經瀏覽了所有建議的鏈接,但仍然遇到相同的錯誤。

任何人都可以幫助我獲得解決方案。 這是我使用的代碼:

function postRequest(postUrl,jsonData)
{
var result;
$.ajax({    
    url: postUrl, 
    async: false,
    type: 'POST',
    crossDomain: true, // enable this
    data: jsonData, 
    dataType: 'json', 
    traditional : true,
   // processData: false,
    contentType: "application/json",
    success: (function (data) 
     {          
        alert(data);
            result = data;
                alert("In success");
     }),
    error: function (errorThrown)
    {
        alert("In error");
        return errorThrown;
    }

});

return result;
}

這是我的 JSON 對象

{
  "description":"This is test",
  "price":11.0,
  "code":"11"
}

我收到這兩個錯誤:

Object { readyState: 0, getResponseHeader: .ajax/v.getResponseHeader(), getAllResponseHeaders: .ajax/v.getAllResponseHeaders(), setRequestHeader: .ajax/v.setRequestHeader(), overrideMimeType: .ajax/v.overrideMimeType(), statusCode: .ajax/v.statusCode(), abort: .ajax/v.abort(), state: .Deferred/d.state(), always: .Deferred/d.always(), then: .Deferred/d.then(), 11 more… } RequestResponse.js:52:6

上面的錯誤是我在errorThrown object收到的。下面是另一個錯誤

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://192.168.1.100:8080/FINEXERP_Server/codePrice/save. (Reason: CORS header 'Access-Control-Allow-Origin' missing).

你能試試這個嗎:

function postRequest(postUrl,jsonData) {
  var result;
  $.ajax({    
    url: postUrl, 
    async: false,
    type: 'POST',
    crossDomain: true, // enable this
    data: jsonData, 
    dataType: 'json', 
    traditional : true,
   // processData: false,
    contentType: "application/json",
    success: function (data) {          
        alert(data);
            result = data;
                alert("In success");
     },
    error: function (errorThrown) {
        alert("In error");
        return errorThrown;
    }

 });

 return result;
}

希望這可以幫助

您需要將數據stringify ,例如

data: JSON.stringify({'jsonData' : jsonData}),

暫無
暫無

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

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