Javascript 当我在PHP中使用ECHO时,jquery.ajax到PHP失败

Javascript 当我在PHP中使用ECHO时,jquery.ajax到PHP失败,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,这是我第一次尝试使用AJAX——当用户离开特定表单字段(VIN)时,我的网站需要在运行时调用PHP。我将此字段的值传递给PHP函数进行验证和处理。然后PHP应该为3个不同的表单字段返回3个值。 这是我的问题:我不会将这3个值返回到我的javascript中 每次我在php中使用ECHO json_encode时,AJAX调用都会崩溃,控制台显示“VM7190:1未捕获的语法错误:json中位于位置0(…)的意外标记Y” 如果我在PHP中放入任何其他简单的ECHO,AJAX调用将返回一个错误 如果

这是我第一次尝试使用AJAX——当用户离开特定表单字段(VIN)时,我的网站需要在运行时调用PHP。我将此字段的值传递给PHP函数进行验证和处理。然后PHP应该为3个不同的表单字段返回3个值。 这是我的问题:我不会将这3个值返回到我的javascript中

每次我在php中使用ECHO json_encode时,AJAX调用都会崩溃,控制台显示“VM7190:1未捕获的语法错误:json中位于位置0(…)的意外标记Y”

如果我在PHP中放入任何其他简单的ECHO,AJAX调用将返回一个错误

如果我从PHP中删除每个ECHO,AJAX调用将返回success,但返回的数据为NULL

如果我能在这里找到解决这个问题的办法,那就太好了

如果有人想测试该网站-这是url:

多谢各位

这是我的AJAX调用:

功能解码我的vin(我的vin){
警报(“在解码我的vin中”);
dataoneID='123';
dataoneKEY='xyz';
jQuery.ajax(
{
cache:false,
键入:“POST”,
url:“/wp content/themes/Impreza child/vin decoder.php”,
数据类型:'json',
数据:{
“值1\u VIN”:myvin,
“value2_ID”:dataoneID,
“value3_键”:dataoneKEY,
“价值4年”:“,
“价值5_Make”:“,
“价值6_模型”:”
},
//async:false,
成功:功能(响应){
var obj=jQuery.parseJSON(响应);
警报(“返回成功:+obj”);
document.getElementById(“fld_7290902_1”).value=“2015”;
document.getElementById(“fld_1595243_1”).value=“Ford”;
document.getElementById(“fld_7532728_1”).value=“焦点”;
返回;
},
错误:函数(){alert(“derjquery中的错误”);}
});

}
这可能不是您唯一的问题,但在呈现JSON时,您应该尝试使用关联数组:

$vinResult = array(
  'Year' => $resultYear, 
  'Make' => $resultMake,
  'Model' => $resultModel
);

当前,您正在组合属性名称和值。

首先,将名称和变量都放在双引号中,如下所示:
array(“Year:=>”$resultYear”,“Make:=>“$resultMake”,“Model:=>”$resultModel”);(
=>`是键=>值赋值,而不是
)。您不需要使用
jQuery.parseJSON(response)
的行,只需按照您在PHP数组中调用的值来赋值,
response.Year
,等等。谢谢大家。我删除了parseJSON,并改变了在PHP中将值分配给键的方式。工作!我相信这就是你问题的症结所在+1.