![](/img/trans.png)
[英]In django how to send json object using XMLHttpRequest in javascript
[英]How to send a JSON data object to the server using Javascript XMLHttpRequest?
我將XMLHttp Request發送到PHP服務器。 我無法使用我使用Javascript發送的數據來填充$_POST
或$_REQUEST
對象:
var r = new XMLHttpRequest;
r.open("POST", "http://url.com", true);
r.send({ myname : 'someName'});
我無法在$_POST
數組中訪問myname
屬性,盡管我在php://input
看到了。 我應該如何在$_POST
使用它? 我試圖發送這樣的數據:
r.send(JSON.stringify({ myname : 'someName'}));
但這都不起作用。
嘗試這個
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", "http://url.com", true);
xmlhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xmlhttp.send(JSON.stringify({ myname : "someName"}));
這應該工作:
r.open('POST','http://url.com',true);
r.setRequestHeader('Content-type','application/json; charset=utf-8');
r.setRequestHeader("Content-length", string.length);
r.setRequestHeader("Connection", "close");
r.send({ myname : 'someName'});
PHP將不會為application/json
請求填充$_POST
。
(您實際上並沒有發送適當的JSON請求,因為您忘記在XHR對象上設置Content-Type
標頭,但是該數據在任何其他格式下都將無效,因此最終結果是相同的。)
只會對application/x-www-form-urlencoded
和multipart/form-data
數據執行此操作。
如果要填充$_POST
請不要使用JSON作為數據格式。 (您可以使用以URL編碼格式嵌入的JSON,但這只能為您提供$_POST['json']
JSON文本的字符串表示形式,而不能直接訪問以JSON編碼的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.