проблема getJSON (jquery) - PullRequest
       5

проблема getJSON (jquery)

1 голос
/ 28 июля 2010

Я пытаюсь использовать getJSON для отправки имени пользователя и пароля в веб-сервис и оповещения "привет"

Это мой код:

$.getJSON(address+"?format=json&jsoncallback=?", {CustomerEmail: email, Password: password},
  function(){
     alert("hi");
});

Заголовки http отправляют сообщение 200, поэтому все должно быть в порядке, но оно не входит в функцию. Кто-нибудь знает, почему, пожалуйста?

Ответы [ 2 ]

4 голосов
/ 28 июля 2010

Находятся ли страницы на одном сервере?Скорее всего, вы нарушаете политику того же происхождения .

. Вы можете использовать JSONP , но .getJSON() ожидает, что параметр будетс именем callback вместо jsoncallback:

JSONP

Если URL содержит строку «callback =?»в URL запрос обрабатывается как JSONP.См. Обсуждение типа данных jsonp в $.ajax() для получения более подробной информации.

Так что, чтобы это работало в вашем случае, вы можете попробовать с помощью $.ajax():

$.ajax({
  url: address+"?format=json",
  data: {CustomerEmail: email, Password: password},
  dataType: "jsonp",
  jsonp: "jsoncallback",
  success: function(data) {
    alert("hi");
  }
});
1 голос
/ 28 июля 2010

Проверьте, верны ли полученные вами данные JSON. Тем более, что все строки (даже в именах свойств) правильно "заключены в кавычки".

Из документации jQuery:

Важно : Начиная с jQuery 1.4, если файл JSON содержит синтаксическую ошибку, запрос обычно не выполняется молча. Избегайте частого ручного редактирования данных JSON по этой причине. JSON это формат обмена данными с синтаксисом правила, которые являются более строгими, чем те, Буквенное обозначение объекта JavaScript. Например, все строки представлены в JSON, являются ли они свойствами или значения, должны быть включены в двойные кавычки. Для получения дополнительной информации о JSON формат см. http://json.org/.

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