jQuery, ajax, json, php parsererror



我正在尝试运行ajax请求,但是我收到解析器错误。 这是我的Javascript代码:

$.ajax({
type: 'POST',
url: 'insertuser.php',
dataType: 'json',
data: {
nickname: $('input[name=nickname]').val(),
passwort: $('input[name=passwort]').val()
},
success : function(data){
console.log(data);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
console.log("XMLHttpRequest", XMLHttpRequest);
console.log("textStatus", textStatus);
console.log("errorThrown", errorThrown);    
}
});

这就是 php 文件:

$return['错误'] = 假;
$return['msg'] = "juhuuu";

回声json_encode($return);

这是控制台.log:

XMLHttpRequest Object 文本状态解析器错误 错误抛出语法错误

这就是.php的回声: {"error":false,"msg":"juhuuu"}

我希望有人有一个想法:)

这个答案可能会也可能不会帮助其他人。但是我遇到了类似的问题,jQuery ajax json解析错误。我的表单不会发送电子邮件,并且通过jQuery返回解析错误。

jQuery

$.ajax({
type: "POST",
url: "process-form.php",
data: dataString,
dataType:"json",
success: function(response) {
if(response.status == "success") {
} else if (response.status == "error") {
}
});

.PHP

if (empty($name) || empty($email) || empty($phone) || !preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',$email) || !preg_match("/^(d[s-]?)?[([s-]{0,2}?d{3}[)]s-]{0,2}?d{3}[s-]?d{4}$/i",$phone)) {
echo json_encode(array(
'status' => 'error'
//'message'=> 'error message'
));
} else {
$send = mail($sendTo, $subject, $message5, $headers, '‑fexample@example.com');
$sendText = mail($sendToPhone, '', $txtmsg, 'From: example <noreply@example.com>rn');
// insert into db
$formName = $_POST['name'];
$queryIn = "INSERT INTO database pseudo code";
//execute the query. 
$result = mysqli_query($connection, $queryIn);
if (!$result) {
printf("Error: %sn", mysqli_error($connection));
exit();
}
}
if($send){
echo json_encode(array(
'status' => 'success'
//This is the message the .ajax() call was looking for but it never posted because there was a MySQL error being printed to the browser along with it. 
));
}

我的问题是我的 PHP 页面,ajax 调用将要去 (process-form.php)。我正在使用 PHPmail()函数通过电子邮件发送表单数据,并将 Web 表单数据插入MySQL数据库中。我的 PHP 检查mail()发送成功并将成功消息打印到屏幕上(这是jQuery .ajax()调用正在寻找的内容。但是我的php/mysql抛出了一个错误并将错误打印在屏幕上,而不是它应该显示的"成功"消息。所以我的jQuery .ajax()调用试图读取一个PHP json_encode()编码的数组,它正在获取MySQL Error。一旦我修复了我的MySQL错误,一切正常。

相关内容

  • 没有找到相关文章

最新更新