【发布时间】:2020-07-16 16:53:02
【问题描述】:
我是使用 AJAX 或 jQuery 的新手,我正在尝试在不加载另一个页面的情况下在表格中插入一些数据,但我不能。
这是我的 AJAX 函数: 编辑:
function SumbitAction(act_id) {
$.ajax({
dataType: 'json',
type: "POST",
url: 'Accion.php',
data: {Action:act_id},
success: function (obj, textstatus) {
if(obj.status==='FAIL') {
console.log(obj.message);
}
else {
console.log("ok");
}
}
});
}
在我的 PHP 中,我目前没有提供任何参数来测试完整的空插入查询:编辑:
$consultaAcciones= "INSERT INTO acciones VALUES (NULL, NULL, NULL, NULL, NULL, NULL, NULL)";
$ejecAcciones = mysqli_query($conn, $consultaAcciones);
if($ejecAcciones===false){
$response = [
'status' => 'FAIL',
'message' => 'Accion no registrada correctamente'
];
}
else {
$response = [
'status' => 'OK',
'message'=> 'Accion registrada'
];
}
header("Content-type: application/json");
echo json_encode($response);
我在控制台日志中收到“错误”,但我不知道出了什么问题。编辑:不再
编辑: 现在它没有显示任何错误,没关系,但是当一切正常时也没有显示我的控制台日志,还收到一条警告消息:“Cross-Origin Read Blocking (CORB) blocked cross-origin response” 和一个日志:XHR 完成加载:POST "http://url..."。 以这种方式指定我的函数的调用者可能不正确吗?
function addListener(id,num)
{
var target= document.getElementById(id);
if(target){
target.addEventListener("click",SumbitAction(num),false);
}
else{
//console.log("Nel",id);
}
}
【问题讨论】:
-
在 PHP 中开启错误报告 - stackoverflow.com/a/21429652/296555.
-
如果您想查看您的 PHP 代码中发生的任何错误,您可以试试这个。
<?php error_reporting(E_ALL); ini_set("display_errors", 1) ?>。你试试echo。 -
另外,默认情况下,
Ajax通过称为error的方法接收错误。你可以试试这个。error: function (request, status, error) { alert('Code:' + request.status + '\n' + 'message:' + request.responseText + '\n' + 'error:' + error); }. -
在代码中使用
die(mysqli_error($conn));是一个非常糟糕的主意,因为它可能会泄露敏感信息。更多解释见这篇文章:mysqli or die, does it have to die?
标签: javascript php jquery mysql ajax