將其他數據傳遞到我的REST服務器時效果不佳。通過AJAX傳遞數據以NULL值響應
我有這個簡單的Ajax調用:
// Client
$(document).on('click', '#car', function(e){
e.preventDefault();
var name = $(this).data('name'); // Tesla
var model = $(this).data('model'); // X
$.ajax({
type: "GET",
contentType: 'text',
cache: false,
url: "http://server:80/api/v1/cars/" + name,
data: JSON.stringify({
"model": model
}),
success: function(data, textStatus, jqXHR){ },
error: function(jqXHR, textStatus, errorThrown){}
});
});
的問題是,model
總是NULL
我的服務器上,而car
工作正常。我也var_dumped
整個要求和搜查model
,但它不幸在那裏。
// Server
public function show($request, $response, $args)
{
$model = $request->getParsedBody()['model'];
$name = $args['id'];
echo $model; // NULL
echo $name; // Tesla
}
我也弄不明白,爲什麼我的請求的URL看起來像這樣在瀏覽器下的研究與開發工具:
http://server:80/api/v1/cars/Tesla.txt?{"model":"X"}
他把JSON在請求URL的末尾,我覺得這是不是一個標準的行爲?
我不要以爲你可以在TYPe中傳遞數據= get test POST –
@ReubenGomes從GET更改POST類型的工作,但我想知道爲什麼。官方文件並不是真的,不幸的是,明確的。你可以寫一個小貼子,我會接受你的答案。謝謝。 – Magiranu
Magiranu請檢查以下 –