簡體   English   中英

帶有JSON數據的POST請求

[英]POST Request with JSON Data

所以我試圖使用jquery $.ajax發出POST請求。 我的問題是要發送的數據是JSON。 所以我不確定如何發送。 我正在使用提琴手來記錄HTTP請求,這就是我得到的。 {"code":200,"user":"34522","questions":[{"35":"139"},{"55":"215"},{"28":"110"},{"88":"349"},{"127":"500"},{"148":"578"},{"125":"492"},{"218":"859"},{"258":"1019"},{"219":"862"}],"time":60} 在提琴手的網絡形式下,沒有任何東西。 在此處輸入圖片說明

這是我想出的代碼,響應為Object {code: 500, error: "Invalid request"}

var request = $.ajax({
      url: "http://website/api/post/",
      type: "POST",
      data: { 
        code : 200,
        user : 34522,
        questions : '[{"35":"139"},{"55":"215"},{"28":"110"},{"88":"349"},{"127":"500"},{"148":"578"},{"125":"492"},{"218":"859"},{"258":"1019"},{"219":"862"}]',
        time : 60
      },
      dataType: "json"
    });

    request.done(function( msg ) {
      console.log(msg);
    });

    request.fail(function( jqXHR, textStatus ) {
      console.log( "Request failed: " + textStatus );
    });

嘗試像這樣在您的帖子數據上使用JSON.stringify:

var request = $.ajax({
  url: "http://website/api/post/",
  type: "POST",
  data: JSON.stringify({ 
    code : 200,
    user : 34522,
    questions : [{"35":"139"},{"55":"215"},{"28":"110"},{"88":"349"},{"127":"500"},{"148":"578"},{"125":"492"},{"218":"859"},{"258":"1019"},{"219":"862"}],
    time : 60
  }),
  dataType: "json"
});

JSON.stringify將當前的javascript對象轉換為JSON字符串以進行發布。 另請注意,從問題數組周圍刪除撇號。

dataType:json是指我認為的響應。 因此,如果服務器響應不是有效的json,則會看到500錯誤。

嘗試查看Firebug中的“網絡(chrome)”或“網絡(firefoxl)”標簽,以檢查響應。

您也可以嘗試將dataType:json更改為dataType:text

暫無
暫無

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

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