Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.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
Php jqueryajax调用在页面标题之前返回结果,导致parseerror_Php_Jquery_Ajax_Json_Parse Error - Fatal编程技术网

Php jqueryajax调用在页面标题之前返回结果,导致parseerror

Php jqueryajax调用在页面标题之前返回结果,导致parseerror,php,jquery,ajax,json,parse-error,Php,Jquery,Ajax,Json,Parse Error,我试图使用JSON创建一个简单的AJAX调用,但结果中不断出现解析错误,当我检查resultText时,它会显示整个页面的源代码,JSON响应在页面标题上方显示成功 这是我的AJAX调用,其中类是一个带有值的选择框 $("#class").change( function () { if($('#class').val().length > 0){ $.ajax({ type

我试图使用JSON创建一个简单的AJAX调用,但结果中不断出现解析错误,当我检查resultText时,它会显示整个页面的源代码,JSON响应在页面标题上方显示成功

这是我的AJAX调用,其中类是一个带有值的选择框

$("#class").change( function () {
            if($('#class').val().length > 0){

                    $.ajax({

                        type: "GET",
                        url: "http://192.168.0.9/ajax",
                        data: 'class_id=' + $("#class").val(),
                        datatype: 'json',
                        async: 'true',
                        beforeSend: function() {
                            alert("Before send!");
                        },
                        success: function(result){
                           if (result.status){

                                $('#result').html(result);
                         } else {
                            alert('request unsuccessful!'); 
                         }

                        },
                        complete: function() {
                            alert("Complete!");

                        },
                            error: function (request,error) {
                             alert('A jQuery error has occurred. Status: ' + error +':'+ request.responseText);                           
                             $("#result").html(request.responseText);  


                        }
                    });                   
            } else {
                alert('Please make a selection');
            }           
            return false; 

            }); 
这是我返回结果的PHP函数

$result = array();
    $result['status'] = "success";
    $result['message'] = "Types";
    header("Content-Type: application/json; charset=utf-8", true);
    echo json_encode($result);
最后,这是我在错误警报中得到的响应:

A jQuery error has occurred status:parseerror
{"status":"success", "message":"Types"}<!DOCTYPE html>
<html>
...rest of my page from where the request was sent

我希望这是一个简单的错误,有人能告诉我我做错了什么?

也许您的参数应该是JSON格式的pass:

data: "{'class_id':'" + $("#class").val() + "'}",

尝试从Javascript中删除数据类型:“json”,并删除headerContent类型:application/json;字符集=utf-8,真;它应该识别自身

函数所在的页面是否与最初加载的页面相同?如果你只是把出口关上,会发生什么;在你的回音声明之后?谢谢艾伦,我现在对你的建议有了进一步的了解。解析错误消失,现在返回成功,但是result.status返回为“undefined”,因此现在我收到一个请求失败警报,而不是数据。有什么想法吗?我真的找到了一个相关的帖子