我從jquery $ .ajax,這工作正常,切換到使用AngularJS $ http.put來訪問一個restful API。
我可以進行API調用,但PUT數據是沒有得到發送 - 所以我看到的API使用空數據對象的PUT請求,其中應包含一個JSON字符串 - >data.values = 'a json structure'
$http.put(
$rootScope.api_url,
{
values: jsonifiedValues
},
{
headers: {
apihash: sha256hash
}
}).success(function(data,status,headers,config){
// handle success
}).error(function(data,status,headers,config) {
// handle failure
});
我之前沒有使用過AngularJS的$ http,但是當我將PHP api中的數據轉儲出來時,它只是空的。這是我如何從PHP請求拉:
parse_str(file_get_contents('php://input'), $put_vars);
$arr_req_data = $put_vars['values'];
在我的API如果從請求不符合建立在PUT值SHA256散列發送的apihash,它失敗。
這是在JQuery中工作,現在只是失敗我已經切換到$ http。我不確定爲什麼PUT數據似乎是空的。
你看過瀏覽器使用瀏覽器的devtools實際發送的內容嗎? – Andorbal 2013-02-15 13:49:36
好點,我沒有檢查它,但數據正在發送 – 2013-02-15 22:48:52