2013-05-18 131 views
0

我正試圖查詢Plivo api。一個要求是請求被編碼爲Content-Type'application/json'。json API請求的正確結構

我已經修改了一些代碼,從這裏的一個例子在stackoverflow,但沒有結果返回。代碼是:

$.ajax({ 
      type: "POST", 
      url: "https://myID:[email protected]/v1/", 
      async: false, 
      data: JSON.stringify({ region: "California", prefix: 415 }), 
      contentType: "application/json", 
      complete: function(data) { 
      //alert(data); 
      $("#result").html(data); 
      } 
    }); 

怎麼了? URL字符串是否正確形成?在數據部分,區域應該用單引號括起來嗎?

這非常令人生氣,我希望能有一些幫助。

+0

遠程服務器返回什麼?即使在不成功的請求中,一個好的服務器也會告訴你響應和狀態代碼中有什麼問題。 –

+0

謝謝,在警報窗口中它說 - [object] [Object]沒有消息,所以,看起來,我的腳本並沒有與api交談。 – user1903663

+0

你不需要dataType:JSON的jQuery? – Jason

回答

0

試着讓你的請求像這樣。 最重要的部分應該是數據類型,且contentType中

$.ajax({ 
    url: url, 
    type: 'POST', 
    dataType: 'json', 
    data: JSON.stringify({ region: "California", prefix: 415 }), 
    contentType: 'application/json; charset=utf-8', 
    success: function (data) { 
     //do whatever you want with the returned data 
     //console.log(data); 
    } 
}); 
+0

謝謝,什麼是cb?我如何訪問cb(數據)? – user1903663

+0

我更新了我的答案......這只是一些通用的響應處理。在成功功能上做任何你想做的事情,或像以前一樣使用完整功能。 – Matt

0

如果服務器返回一個JSON對象,你想看到的對象,而不是[object][Object]的內容,你可以使用對象轉換爲字符串:

alert(JSON.stringify(data))

如果你想讓它更易讀:

alert(JSON.stringify(data, null, "\t"))