Javascript JSON到PHPAPI没有发生
我试图使用Javascript和PHP保存点击按钮时的数据 按钮点击:Javascript JSON到PHPAPI没有发生,javascript,php,json,Javascript,Php,Json,我试图使用Javascript和PHP保存点击按钮时的数据 按钮点击: var xhr = new XMLHttpRequest(); var url = "savedata.php"; xhr.open("POST", url, true); xhr.setRequestHeader("Content-Type", "application/json"); /*xhr.onr
var xhr = new XMLHttpRequest();
var url = "savedata.php";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json");
/*xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
var json = JSON.parse(xhr.responseText);
console.log(json.rawText + ", " + json.convertedText);
}
};*/
var data = JSON.stringify({"rawText": rt, "convertedText": ct});
xhr.send(data);
savedata.php
<?php
header("Content-Type: application/json");
require('db/db.php');
session_start();
$saverawText = $_POST['rawText'];
$saveConvertedText = $_POST['convertedText'];
$ins_query="insert into cmn_data (`rawtext`,`convertedtext`) values ('$saverawText','$saveConvertedText')";
$result = mysqli_query($con, $ins_query);
?>
您可以这样发布您的值:
var xhr = new XMLHttpRequest();
var url = "savedata.php";
xhr.open("POST", url, true);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
/*xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
var json = JSON.parse(xhr.responseText);
console.log(json.rawText + ", " + json.convertedText);
}
};*/
var data = "rawText=" + rt + "&convertedText=" + ct;
xhr.send(data);
您可以这样发布您的价值观:
var xhr = new XMLHttpRequest();
var url = "savedata.php";
xhr.open("POST", url, true);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
/*xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
var json = JSON.parse(xhr.responseText);
console.log(json.rawText + ", " + json.convertedText);
}
};*/
var data = "rawText=" + rt + "&convertedText=" + ct;
xhr.send(data);
PHP不会将JSON请求解析为$\u POST数组本身。您应该在php中解析请求正文:
$request=json\u解码(文件获取内容('php://input",对),;
$saverawText=$request['rawText'];
$saveConvertedText=$request['convertedText'];
或使用FormData对象将数据传递给请求:
var data=new FormData();
数据。追加(“rawText”,rt);
数据。追加(“convertedText”,ct);
发送(数据);
如前所述,将用户输入直接包含到sql中可能会导致sql注入。用于转义用户输入或PDO驱动程序,这是一种更复杂但更可靠的方法。PHP不解析对$\u POST数组本身的JSON请求。您应该在php中解析请求正文:
$request=json\u解码(文件获取内容('php://input",对),;
$saverawText=$request['rawText'];
$saveConvertedText=$request['convertedText'];
或使用FormData对象将数据传递给请求:
var data=new FormData();
数据。追加(“rawText”,rt);
数据。追加(“convertedText”,ct);
发送(数据);
如前所述,将用户输入直接包含到sql中可能会导致sql注入。用于转义用户输入或PDO驱动程序,这是一种更复杂但更可靠的方法。您看到的错误消息或行为是什么?控制台里有什么?错误日志中有什么?首先,还要删除标题(“内容类型:application/json”)代码>没有错误消息。@Abracadver:我删除了它,但它有什么不同吗。查看此内容,看看它是否有助于您了解如何通过Ajax发送参数您看到的错误消息或行为是什么?控制台里有什么?错误日志中有什么?首先,还要删除标题(“内容类型:application/json”)代码>没有错误消息。@Abracadver:我删除了它,但它有什么不同吗。查看此内容,看看它是否有助于您了解如何通过AJAXI发送参数。我无法通过JSON发送数据?我无法通过JSON发送数据?忘记包装php://input
使用文件获取内容
并将json解析为关联数组。更新的$request=json\u解码(文件获取内容('php://input",对),代码>尝试一下,现在应该可以了忘记包装php://input
使用文件获取内容
并将json解析为关联数组。更新的$request=json\u解码(文件获取内容('php://input",对),代码>试试,现在应该可以了