Jquery 来自ajax post调用的json分析错误

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");

您好,我正在开发cordova 2.7.0 phonegap应用程序。我正在将餐厅id发布到web控制器,以获取该餐厅的详细信息。后端位于zend framework中,但响应调用error functio,错误显示json解析错误和意外令牌< 1.我完全糊涂了,请帮帮我

我已经尝试过的事情: 当我更改url时,它会更改错误名称,所以错误可能出现在url中,我不确定这是否是跨域问题

这是我的密码

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”