Что URL в вашем браузере, и что URL бьет ваш вызов Ajax? У браузеров есть ограничения безопасности, которые не допускают перекрестные вызовы AJAX. Так, например, если я загрузке локального файла:
http://localhost:20080/myCustomPage.html
и в пределах этой страницы, я делаю AJAX вызов
http://search.twitter.com/search?q=test
я хотел бы получить предупреждение безопасности из браузера. В зависимости от вашего браузера это может проявляться в предупреждающем значке в нижнем углу (IE) или в журнале javascript (firefox).
Существует один способ обойти это в ОДНОМ конкретном случае. Этот случай представляет собой любой запрос GET. Для этого вместо создания «ajax» вы включаете тег. Затем этот тег скрипта будет считан и загружен. Ловушка здесь, теперь вызов должен включать метод «обратного вызова», который вы можете реализовать на своей стороне, который вызывается с результатом вызова.
Так вместо ответа, как:
{
"first_name": "peter",
"last_name": "parker"
}
вам нужно будет вернуть
myCallBackFunction({
"first_name": "peter",
"last_name": "parker"
});
Этот пример использует JSON, но вы можете легко использовать XML, HTML или любой другой формат результата, как пока функция вызывается.
myCallbackFunction("INSERT RESPONSE TEXT HERE")
Этого метод обычно реферируемый как JSONP и, к счастью, реализован в общих яваскрипте библиотек, как JQuery с точки зрения клиента. Если вы контролируете сервер, вам нужно будет жестко закодировать оболочку callBackFunction или выставить параметр, который позволяет клиенту установить его. И, к сожалению, если вы не владеете библиотекой, вы не можете сделать ничего, кроме тех случаев, когда владелец сервиса уже предоставляет эту функцию. К счастью, большинство сервисов Web 2.0, которые вы бы делали такие вещи, уже реализовали эту функцию.
В серийной версии, которую вы пытаетесь сделать вызов междоменное? –
Привет. Нет, все размещено в моем домене. .aspx вызывает веб-метод в этом конкретном коде. – XSL