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

时间:2016-11-01 02:59:14

标签: javascript php jquery json ajax

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

每次当我在我的php中使用ECHO json_encode时,AJAX调用崩溃并且控制台显示" VM7190:1未捕获的SyntaxError:位于0(...)"的JSON中的意外的标记Y。

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

如果我从PHP中删除每个ECHO,则AJAX调用返回成功但返回的数据为NULL。

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

如果有人想测试网站 - 这是网址:mycarbio

非常感谢。

这是我的AJAX电话:



<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
&#13;
&#13;
&#13;

这是我的PHP

&#13;
&#13;
function decode_my_vin(myvin) {

alert("in decode_my_vin");
dataoneID  = '123';
dataoneKEY = 'xyz';

jQuery.ajax(
    {
    cache: false,
    type: 'POST',
    url: '/wp-content/themes/Impreza-child/vin-decoder.php',
	dataType:'json',
    data: { 
			'value1_VIN':	myvin,
			'value2_ID':	dataoneID,
			'value3_KEY':	dataoneKEY,
			'value4_Year':	' ',
			'value5_Make':	' ',
			'value6_Model':	' '
		  },
//	async: false,
	success: function(response) {
			var obj = jQuery.parseJSON(response);
			alert("success returned: " + obj); 
		    document.getElementById("fld_7290902_1").value = "2015";
	    	document.getElementById("fld_1595243_1").value = "Ford";
    		document.getElementById("fld_7532728_1").value = "Focus";
			return;
		},
	error: function() { alert("error in der jquery"); }
    });
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

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

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

目前,您正在组合您的媒体资源名称和值。