Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery、ajax、json、php解析器错误_Php_Javascript_Jquery_Ajax_Parse Error - Fatal编程技术网

jQuery、ajax、json、php解析器错误

jQuery、ajax、json、php解析器错误,php,javascript,jquery,ajax,parse-error,Php,Javascript,Jquery,Ajax,Parse Error,我试图运行一个ajax请求,但是我得到了一个解析器错误。 这是我的Javascript代码: $.ajax({ type: 'POST', url: 'insertuser.php', dataType: 'json', data: { nickname: $('input[name=nickname]').val(), passwort

我试图运行一个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['error']=false; $return['msg']=juhuuu

echo json_encode$return

这是console.log:

XMLHttpRequest对象 文本状态分析器错误 错误语法错误

这就是.php的回声: {错误:false,msg:juhuuu}


我希望有人有一个想法:

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

jQuery

PHP


我的问题是在我的PHP页面上,ajax调用将处理-form.PHP。我使用PHP邮件功能通过电子邮件发送表单数据,并将web表单数据插入MySQL数据库。我的PHP检查邮件发送是否成功,并将成功消息打印到屏幕上,这正是jQuery.ajax调用所寻找的。但是我的php/mysql抛出了一个错误,并将错误打印在屏幕上,而不是它应该显示的成功消息。因此,我的jQuery.ajax调用试图读取一个PHP json_编码的数组,结果得到了MySQL错误。一旦我修复了MySQL错误,一切都正常工作。

sendtdata by var str=$this.serialize;php中的adn parse_str$_POST[data],$array;您是否尝试在PHP中添加一个内容类型头,如:header'content-type:application/json';?数据类型jsonp和头文件不起作用..好的,我修复了它!:我只需要删除我的php文件中的所有HTML内容,比如,等等。。。现在它工作了!
 $.ajax({
    type: "POST",
    url: "process-form.php",
    data: dataString,
    dataType:"json",
    success: function(response) {

        if(response.status == "success") {

        } else if (response.status == "error") {

        }
  });
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>\r\n');

            // insert into db
            $formName = $_POST['name'];
            $queryIn = "INSERT INTO database pseudo code";

            //execute the query. 
            $result = mysqli_query($connection, $queryIn);
            if (!$result) {
                printf("Error: %s\n", 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. 
            ));
}