Javascript ajax-获取文本字段的成功响应值

Javascript ajax-获取文本字段的成功响应值,javascript,ajax,Javascript,Ajax,我试图获得成功响应,将ajax中的值发送到它们各自的字段中。不管出于什么原因,我都无法做到。在成功部分,我发布了一个“警报(responseObject)”,结果显示在所附的图像中。因此,数据会按照我的要求返回,但我无法将值填充到匹配字段中 $(document).ready(function() { function myrequest(e) { var man_part_number = $('#man_part_number').val(); $.a

我试图获得成功响应,将ajax中的值发送到它们各自的字段中。不管出于什么原因,我都无法做到。在成功部分,我发布了一个“警报(responseObject)”,结果显示在所附的图像中。因此,数据会按照我的要求返回,但我无法将值填充到匹配字段中

$(document).ready(function() {
    function myrequest(e) {
        var man_part_number = $('#man_part_number').val();
        $.ajax({
            method: "GET",
            url: "includes/autofill.php",

            data: {
                man_part_number: man_part_number
            },
            success: function(responseObject) {
                alert(responseObject);
                //This alert response results is in attached image
                $('#manufacture').val(responseObject.manufacture);
                $('#model').val(responseObject.model);
                $('#type').val(responseObject.type);
            },
            failure: function() {
                alert('fail');
            }
        });
    }

    $('#fetchFields').click(function(e) {
        e.preventDefault();
        myrequest();
    });
});

<button type="button" id="fetchFields">Fetch</button>

<input type="text" name="manufacture" id="manufacture" />
<input type="text" name="model" id="model" />
<input type="text" name="type" id="type" />
$(文档).ready(函数(){
功能myrequest(e){
var man_part_number=$(“#man_part_number”).val();
$.ajax({
方法:“获取”,
url:“includes/autofill.php”,
数据:{
曼努零件号:曼努零件号
},
成功:功能(responseObject){
警报(响应对象);
//此警报响应结果显示在所附图像中
$(“#制造”).val(响应对象制造);
$('#model').val(responseObject.model);
$('#type').val(responseObject.type);
},
失败:函数(){
警报(“失败”);
}
});
}
$(“#fetchFields”)。单击(函数(e){
e、 预防默认值();
myrequest();
});
});
取来

返回的字符串不是JSON。查看警报框中字符串的结尾。它有“测试”。这意味着jQuery将响应解析为文本,因为您没有指定
dataType
选项。如果您确实将其指定为“JSON”,它将失败,因为在“{…}”旁边有“test”是无效的JSON。我想关键是您需要返回有效的JSON,如果您确实希望返回JSON,请将
$.ajax
调用的
dataType
选项设置为“JSON”。同时,您的服务器无论如何都应该在响应中设置正确的头。最好(有时)指定
dataType
选项


默认情况下,如果未指定
dataType
选项,jQuery将检查响应的标题以获取内容类型。如果它与“JSON”、“HTML”、“Text”、“XML”或其他一些类型的有效类型匹配,它将尝试通过该类型对其进行解析。我打赌您的响应没有正确设置其标题,否则jQuery将尝试将其转换为JSON并失败。它可能会以纯文本的形式返回,所以jQuery会看到它并将其解析为文本…这就是为什么它解析得很好。但是您引用的
responseObject
并不像您期望的那样是
对象,因为您没有按照这些过程来确保正确的解析。

很好的调用,甚至没有注意到我留下了一个“echo”测试;'在autofill.php的末尾,我们试图测试一些东西,但没有意识到它仍然存在。谢谢