Jquery JSON中的语法错误(即使它在FF中工作-我认为)
标准免责声明,我不太擅长JS/前端的东西,所以我可能在做一些愚蠢的事情。我已经很长时间没有使用AJAX了。 好的,我正在为我正在开发的一个内部站点充实一些初始ajax。我大部分时间都在FF中测试,看起来还可以,但当我在任何其他(真实的)浏览器中尝试时,都会出现语法错误。这是在Slim框架中完成的,并使用TWIG作为视图Jquery JSON中的语法错误(即使它在FF中工作-我认为),jquery,json,ajax,Jquery,Json,Ajax,标准免责声明,我不太擅长JS/前端的东西,所以我可能在做一些愚蠢的事情。我已经很长时间没有使用AJAX了。 好的,我正在为我正在开发的一个内部站点充实一些初始ajax。我大部分时间都在FF中测试,看起来还可以,但当我在任何其他(真实的)浏览器中尝试时,都会出现语法错误。这是在Slim框架中完成的,并使用TWIG作为视图 $("#id").on('change', function(){ var v = $('#id option:selected').val(); $.a
$("#id").on('change', function(){
var v = $('#id option:selected').val();
$.ajax({
url: "{{ path_for('inventory.ajax') }}",
data: {
id: v
},
type: "POST",
dataType : "json",
})
.done(function( result ) {
$.each(result,function(key, val){
var newA = JSON.stringify(val.property.property);
$(".ajax").append(JSON.parse(newA) + ", ");
});
})
.fail(function( xhr, status, errorThrown ) {
alert( errorThrown );
console.log( "Error: " + errorThrown );
console.log( "Status: " + status );
console.dir( xhr );
})
});
我的PHP代码很简单:
public function ajax_getProps($request, $response) {
$id = $request->getParam('id');
$propertiesList = $this->c->helpers->getPropertyList($id);
echo json_encode($propertiesList);
}
现在就像我说的,在FF中它是有效的,尽管我有一个不同的问题,为什么我必须字符串化然后解析一些东西来输出它。
当我在Chrome或Edge中运行它时,我得到了以下信息:
语法错误:JSON中位置0处出现意外标记<。
我读过,这通常意味着当HTML需要纯JSON时返回HTML,但我没有。是吗?
错误似乎指向以下行:
console.log( "Error: " + errorThrown );
如果我把它和下面的注释掉,我仍然会在警报中得到错误消息,但它不会显示在控制台中
我从dev工具中检索到了JSON,并在JSONLint中进行了测试,结果表明它是有效的
谁能告诉我这里发生了什么事吗?
我知道我在做什么蠢事。我没有在其他浏览器上登录,这是一个对受保护路由进行ajax调用的过程,但是发起调用的主页没有…。向我们展示一些您的数据,也许只是json的示例?请尝试不解析该值