JQuery AJAX Post Request продолжает сбой с абсолютным URL - PullRequest
1 голос
/ 02 августа 2011

Я пытаюсь протестировать API через AJAX. Я использовал JQuery:

$(document).ready(function(){

    $('#ajax').click(function(e){

        var sampleHTML = '<html></html>';

        var api_key = 'asfasasfs2';        

        $.post('http://google.com/', { api_key: api_key, html: sampleHTML },

           function(data) {

             alert("Data Loaded: " + data);

        });

    });

});

Когда я использую абсолютный URL, который мне нужен, поскольку это внешний API, firebug ничего не показывает. Как будто ни один пост-запрос не был сделан!

Я думал, что протестирую его на Chrome, и он показывает статус отмененного и тип ожидающего. Что это значит?

Обратите внимание, я добавил URL-адрес Google, чтобы скрыть URL своего API.

Ответы [ 2 ]

5 голосов
/ 02 августа 2011

См. Документацию jquery . Если URL не находится в одном домене, он не будет работать:

Из-за ограничений безопасности браузера большинство запросов «Ajax» подчиняются одной и той же политике происхождения; запрос не может успешно получить данные из другого домена, субдомена или протокола.

Вы можете попробовать ajax-сообщение со скриптом или jsonp в качестве возвращаемых данных , если вы можете настроить свой API:

На запросы сценариев и JSONP не распространяются одинаковые ограничения политики происхождения.

0 голосов
/ 02 августа 2011

Попробуйте это

$(document).ready(function(){

    $('#ajax').live("click", function(e){


            $.ajax({
                        type: "POST",
                        url: "http://www.google.com",
                        data:   "api_key"="asfasasfs2"
                            "&html="<html><html>", 
                        success: function(html){
                            alert(data);
                        },
                         error: function(request){
alert(request.responseText);
                          },
                            complete    : function(){
                            }
                        });
    });

});

Попробуйте это.он должен работать.и политика того же происхождения не распространяется на публикуемые формы.если пожарная ошибка не показывает ничего, что означает, что событие щелчка не генерируется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...