Проблема с AJAX и jQuery - PullRequest
0 голосов
/ 23 марта 2011
<html> 
<head> 
<title>Ajax</title> 
<script type="text/JavaScript" src="jquery-1.5.1.min.js"></script> 
<script type="text/JavaScript"> 

function register()
{ 
    $.ajax({
    type: "GET",
    url: "http://exampleurl.com/api/index.php",
    data: "action=login_user&app_key=MyAPIKey&username=Bob&password=HisPassword",
    dataType: "text",
    success: function(data) 
         {
                    alert(data);
         }
    error: function (jqXHR, textStatus, errorThrown) 
         {
                    alert(errorThrown);
         }
          });
}
</script> 

</head> 
<body> 
<form>      
<input type="button" value="Test" onclick="register()"/>
</form>
</body> 
</html>

URL-адрес возвращает строку (обычный текст) при использовании в адресной строке. Почему приведенный выше код не работает? Когда я нажимаю на кнопку, я не получаю оповещения. В принципе ничего не происходит.

Браузеры пробовали: IE 8 и Chrome.

Спасибо, что уделили время.

Ответы [ 5 ]

1 голос
/ 23 марта 2011

Является ли example.com URL вашего локального сайта? Если нет, то приведенный выше пример нарушает Same Origin Policy . Вы можете обойти это, выполнив вызов через прокси на стороне сервера.

1 голос
/ 23 марта 2011

Возможно, в вызове $.ajax выдается исключение.

Подумайте,

  1. , чтобы убедиться, что ваш URI правильно сформирован путем извлечения параметров запроса из URLи вместо него указывается data объект:

    data: { action: login_user, app_key: .... etc }

  2. добавление обработчика error тоже

0 голосов
/ 23 марта 2011

У вас есть доступ через внутренний URL-адрес?

Возможно, вам потребуется объявить contentType.Вам также может понадобиться сделать сообщение и установить данные.

data: "{ 'action': 'login_user', 'app_key': 'MyAppKey', etc. }"
0 голосов
/ 23 марта 2011

Вы пытались разделить данные?

$.ajax({
    type: "GET",
    url: "http://exampleurl.com/api/index.php",
    data: "action=login_user&app_key=MyAPIKey&username=Bob&password=BobPassword",
    dataType: "text",
    success: function(data) {
        alert(data);
    }
});
0 голосов
/ 23 марта 2011

Попробуйте добавить

error: function (jqXHR, textStatus, errorThrown) {
    alert(errorThrown);
}

http://api.jquery.com/jQuery.ajax/

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