XMLHttpRequest.send的数据php接收代码
时间: 2024-04-30 15:17:20 浏览: 215
好的,关于XMLHttpRequest.send的数据php接收代码,可以参考下面的示例:
JS代码:
```
var xhr = new XMLHttpRequest();
xhr.open('POST', 'example.php', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
console.log(xhr.responseText);
}
};
var data = {
name: 'John',
age: 28
};
xhr.send(JSON.stringify(data));
```
PHP代码:
```
$data = json_decode(file_get_contents('php://input'), true);
echo 'Name: ' . $data['name'] . ', Age: ' . $data['age'];
```
以上代码中,XMLHttpRequest.send发送了一个包含name和age两个属性的JSON对象给example.php文件,然后在PHP文件中通过解析php://input获取JSON数据,并使用json_decode转换成数组,最后输出数据到控制台。
相关问题
Uncaught SyntaxError: Unexpected token '<', "<?php //从"... is not valid JSON at JSON.parse (<anonymous>) at XMLHttp.onreadystatechange (11ajaxA.html:18:28) XMLHttp.onreadystatechange @ 11ajaxA.html:18 XMLHttpRequest.send (async) (anonymous) @ 11ajaxA.html:13
这个错误通常是由于返回的数据不是有效的 JSON 格式引起的。在你的代码中,可能是因为你期望从服务器接收到 JSON 数据,但实际上返回的可能是一个 HTML 页面。
请确保你的服务器端代码正确地返回 JSON 格式的数据。你可以使用开发者工具检查网络请求的响应,并确保它返回的是有效的 JSON 数据。
switch(this.innerHTML) { case "数据分析": contentFrame.src = "./data_analysis.html"; break; case "报表查看": contentFrame.src = "./repot1/tree6.html<?php echo $_SESSION['username'] ?>"; break; case "日结查看": contentFrame.src = "./daily_statement_view.html"; break; case "系统设置": contentFrame.src = "./system_setting.html"; break; case "返回主页": window.location.href='index1.html'; break; default: break; }这是php页面的发射session代码。接收代码为://从 cookie 中检索会话 ID var sessionId = document.cookie.replace(/(?:(?:^|.*;\s*)PHPSESSID\s*\=\s*([^;]*).*$)|^.*$/, "$1"); // 发送 AJAX 请求以获取会话变量 var xhr1 = new XMLHttpRequest(); xhr1.onreadystatechange = function() { if (xhr1.readyState === XMLHttpRequest.DONE) { // 处理服务器响应 alert("收到的session:" + xhr.statusText); } }; xhr1.open('GET', 'get_session.php', true); xhr1.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr1.send();帮我查错
你提供的代码片段中似乎没有明显的错误,但是我注意到你的接收代码片段中的 `alert` 函数调用中使用了 `xhr.statusText`,应该将其改为 `xhr1.responseText`,以获取服务器返回的响应文本。
此外,你的发送请求的代码中没有在请求的 URL 后面添加会话 ID,你需要将其添加到 URL 的末尾,例如:
```
xhr1.open('GET', 'get_session.php?PHPSESSID=' + sessionId, true);
```
阅读全文