我决定停止使用jQuery,因此我将所有内容转换为纯JavaScript。JSON.stringify发送空对象
我有这个ajax
电话,我想发送url的最后一部分到php服务器,但JSON.stringify()
发送一个empty object
在服务器。
这是怎么发生的?
AJAX调用:
var ajax = new XMLHttpRequest();
ajax.open('get', 'ajax/autocomplete.php');
ajax.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
ajax.send(JSON.stringify({q: document.location.href.split('/').slice(-1)[0]}));
PHP:
<?php
require_once '../../private/core/init.php';
header('Content-Type: application/json');
print_r($_GET);//empty
$data = new AUTOCOMPLETE($_GET['q']);
echo json_encode($data->data());
?>
,我得到这个错误:Undefined index: q
我不认为你应该发送请求实体的GET请求。做一个POST或使用查询参数('?q = ......')。 – Thilo
但我会得到数据。不写或更新。 @Thilo –
只能使用POST请求发送参数数据。如果使用其他任何请求方法,数据将不会放入请求主体内部。 [文档](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) –