Ajax請求發送的FormData是"[object object]"


  今天遇見一個ajax請求的問題,以前data直接傳了一個json字符串,后來適應新需求將ajax的請求參數修改為對象的格式讓ajax自動轉換為json字符串。以下是兩種ajax請求代碼。

//字符串格式
$.ajax({
    url:"http://127.0.0.1/test",
    type:"post",
    dataType:"JSON",
    data:"{'param':'test'}",
    processData :false,
});

//對象格式
$.ajax({
    url:"http://127.0.0.1/test",
    type:"post",
    dataType:"JSON",
    data:{
        param:'test'
    },
    processData :false,
});

  之前字符串格式的方式功能是能調通的,但是改成對象方式功能就調不通了,后台斷點發現獲取不到param參數。通過Chrome調試發現這個ajax請求的FormData是一個"[Object object]"字符串,並不是預期的json字符串。其他使用對象方式也沒有出過問題,后來搜索了下ajax請求參數的含義,發現是因為processData這個配置的原因,processData的作用是:指定ajax是否將data中的數據進行轉化,默認是true,即默認會將data中的數據轉化成json字符串,false時,直接將data傳輸到后台。

  之前的ajax請求不是我寫的,所有不懂processData的含義,去掉processData或者修改為true,就可以轉化了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM