我送XMLHttpRequest來REST API服務器這樣的:的XMLHttpRequest misformats URL-錯誤405
function sendPostRequest (accessToken)
{
// construct an HTTP request
var xhttp = new XMLHttpRequest();
//build data
var data = {};
data["accessToken"] = accessToken ;
xhttp.open("POST", "http://localhost:61103/api/Test", true);
xhttp.setRequestHeader('Content-Type', 'text/plain; charset=UTF-8');
xhttp.send(JSON.stringify(data));
xhttp.onloadend = function() {
};
}
這是通過的ASP.NET Web API獲得:
[HttpPost]
public IHttpActionResult Post(string userToken)
{
//stuff
}
但是,我總是回來405錯誤。很可能是因爲請求沒有休息的參數(覺得沒有合適的超載),即是這樣的:
POST http://localhost:61103/api/testAPI HTTP/1.1
Host: localhost:61103
Connection: keep-alive
Content-Length: 21
Origin: http://localhost:61103
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36
Content-Type: text/plain; charset=UTF-8
Accept: */*
Referer: http://localhost:61103/Testlogin.html
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
{"accessToken":"asd"}
通知,該數據不包括在該鏈接,而是在底部。
此外,該工作
xhttp.open("POST", "http://localhost:61103/api/Test?userToken=XXXX", true);
數據POST請求是如何工作的。 –
狀態碼405表示「不允許的方法」。你可能不應該做一個POST請求,但一個GET請求。 –
你使用的是什麼類型的服務器和後端語言? – rambossa