Jquery 来自ajax post调用的json分析错误
您好,我正在开发cordova 2.7.0 phonegap应用程序。我正在将餐厅id发布到web控制器,以获取该餐厅的详细信息。后端位于zend framework中,但响应调用error functio,错误显示json解析错误和意外令牌< 1.我完全糊涂了,请帮帮我 我已经尝试过的事情: 当我更改url时,它会更改错误名称,所以错误可能出现在url中,我不确定这是否是跨域问题 这是我的密码Jquery 来自ajax post调用的json分析错误,jquery,ajax,json,cordova,Jquery,Ajax,Json,Cordova,您好,我正在开发cordova 2.7.0 phonegap应用程序。我正在将餐厅id发布到web控制器,以获取该餐厅的详细信息。后端位于zend framework中,但响应调用error functio,错误显示json解析错误和意外令牌< 1.我完全糊涂了,请帮帮我 我已经尝试过的事情: 当我更改url时,它会更改错误名称,所以错误可能出现在url中,我不确定这是否是跨域问题 这是我的密码 function somefunction() { alert("called");
function somefunction()
{
alert("called");
var resid = sessionStorage.getItem("ids");
alert(resid);
$.ajax({
url : 'http://app.mywebsitename.com/takeaway/detail',
cache : false,
type : 'GET',
dataType : 'json',
crossDomain : true,
success : function getRestaurantSuccess(data, status) {
alert("success"); },
error : function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
alert(errorThrown);
}
});
}
您必须在这里更改两件事: 您必须将
数据类型:'json',
更改为数据类型:'jsonp'
改变你的成功函数
成功:函数getRestaurantAccess(数据、状态){
对此
成功:功能(数据、状态){
因为您的url似乎执行跨域请求,并确保响应类型为json
,它必须来自您的服务器端
在您的帖子中找到我正在将餐厅id发布到web控制器
我没有发现您在ajax函数中发送此消息。因此,您的最终代码应该是:
function somefunction() {
alert("called");
var resid = sessionStorage.getItem("ids");
alert(resid);
$.ajax({
url: 'http://app.mywebsitename.com/takeaway/detail',
cache: false,
data: {resid : resid}, // pass the res id here
type: 'GET',
dataType: 'jsonp', // change to jsonp for cross domain
crossDomain: true,
success: function (data, status) { // update your success function
alert("success");
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus);
alert(errorThrown);
}
});
}
错误:“显示json解析错误和意外标记您是否在config.xml中配置了
access origin
?这是否回答了您的问题?“SyntaxError:unexpected token<在json中的位置0”