источник выдачи междоменного запроса не разрешен

проблема с междоменным запросом

мой код вызова ajax на самом деле, когда я запускаю данный URL-адрес непосредственно в браузере, он показывает мне данные json, но при использовании вызова ajax он всегда показывает мне ошибку ajax, поверьте мне, я пробовал следовать многим вещам без плодотворного результата за 18 дней.

$.ajax({
        crossDomain:true,
        type: "GET",
        url: 'http://taxihub.azurewebsites.net/Mobile/api/json.php?method=getCompanyList',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        processData: false,
        success: function (data) {

                console.log(data);
                return;

        },
        error: function (err) {
            console.log("AJAX ERROR");
            console.log(err.responseText);
        }
    });

вы также можете проверить эту ссылку напрямую и увидите, что данные json поступают, но я обнаружил ошибку, я не знаю, почему "http://taxihub.azurewebsites.net/Mobile/api/json.php?method=getCompanyList "

ошибка: OPTIONS http://taxihub.azurewebsites.net/Mobile/api/json.php?method=getCompanyList Origin lhost: 809 не разрешен Access-Control-Allow-Origin.

пожалуйста, помогите мне, я застрял здесь на 18 дней по этой проблеме


person Wajihurrehman    schedule 10.10.2013    source источник


Ответы (1)


Удалите части cross-domain и content-type, и все будет работать, но вам придется проделать небольшую дополнительную работу со строкой, чтобы поместить ее в объект JSON:

$.ajax({
    type: "GET",
    url: 'http://taxihub.azurewebsites.net/Mobile/api/json.php?method=getCompanyList',
    dataType: "json",
    success: function (data) {
            console.log(data.result.getCompanyList[0].CompanyID);
            return;
    },
    error: function (err) {
        console.log("AJAX ERROR");
        console.log(err);
    }
});
}

На самом деле кажется, что кросс-домен не имеет никакого эффекта с ним или без него. Я предполагаю, что сервер, на который вы нацеливаетесь, не имеет строгой междоменной защиты, но ему не нравится тип содержимого JSON. Буду рад получить более конкретное объяснение.

ИЗМЕНИТЬ. Я использовал JQuery 1.10.2, если это важно.

person JScoobyCed    schedule 10.10.2013
comment
JScoobyCed, это работает для меня, но все еще получаются данные о проблеме, но когда приходит ответ, означает, что данные, поэтому я вызываю data.result.getcompanylist, он доступен, когда я отлаживаю, просто показываю мне данные - person Wajihurrehman; 10.10.2013
comment
{result: {getCompanyList: [{CompanyID: 1, Email: wajih @ thefastmarket.com, Company: TheFastMarket, LogoPath: logo.jpg}, {CompanyID: 2, Email: farhan @ hotmail.com, Company: Hotmail, LogoPath: logo1.jpg}, {CompanyID: 3, Email: omair @ yahoo.com, Company: Yahoo, LogoPath: logo2.jpg}, {CompanyID: 1001, Email: gillani.omair @ gmail.com, Company: \\\\ icon, LogoPath: Dubai Taxi}]}, ошибка: []} - person Wajihurrehman; 10.10.2013
comment
в данных есть объект, но когда я пишу, чтобы получить доступ к его значениям, таким как data.result.getCompanyList [0] .CompanyID, его undefined показывает - person Wajihurrehman; 10.10.2013
comment
спасибо много JScoobyCed, наконец, успешно, спасибо много после 18 дней проблема решена - person Wajihurrehman; 10.10.2013
comment
спасибо много JScoobyCed - person Wajihurrehman; 10.10.2013