2015-07-03 3 views
-1

Я новичок в ajax и стараюсь получать данные из запроса на отправку. Это мой код:Сообщение Ajax не работает

<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 

<script> 
$(document).ready(function(){ 

    $("button").click(function(){ 

    $.post("10.0.0.10/info/page.php", 
     { 
      id: "1234" 
     }, 
     function(data,status){ 
      alert("succesData: " + data + "\nStatus: " + status); 
     }) 
     .fail(function(data,status) { 
      alert("failData: " + data + "\nStatus: " + status); 
    }); 
    }); 
    }); 
</script> 

</head> 
<body> 
<input id="id" type="text"> 
<button>Change Content</button> 
</body> 
</html> 

Я просто пытаюсь page.php страницы с HTML формой и получить этот JSON:

[{ "cabin_id": "1234", "город": "", "type": "", "year": "2009"}]

Так 10.0.0.10/info/page.php работает нормально, но мой код ajax не может получить данные. Я только получить .fail окно предупреждения, и он говорит:

alert box

Что плохого в моем АЯКС коде?

EDIT:

Я вижу эту ошибку сейчас:

XMLHttpRequest cannot load file:///C:/Users/KUVALYA/Desktop/post. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource. 
+0

проверьте окно консоли - у вас могут быть некоторые ошибки? –

+0

«Я получаю только окно предупреждения об ошибке. - И что он говорит? – Quentin

+0

еще одна вещь - console.log (данные); вы сможете лучше проверить данные объекта, чем предупреждение ... –

ответ

1

С учетом IP-адреса, я думаю, его внешний домен.

Ваш Аякса никогда не будет работать, если не включить Cross Origin Resource Sharing на целевой IP

Пожалуйста, включите CORS, установив соответствующие заголовки, как указанные в следующей ссылке, а затем использовать Ajax на цель.

Подробнее here


Если возможно, вы можете использовать JSON отступы (JSONP), но это тоже требует настраивая ответ на стороне сервера

Надеется, что это помогает!

+0

Я пробую его с PHP * * file_get_contents() ** и я могу читать данные. Разве это не означает, что Cross Resource Resource Sharing включен на целевом IP-адресе? – Kuvalya

+0

CORS влияет только на вызовы ajax, это не влияет на PHP – Hemant

+0

Thx Hermant. Я думаю, что вы правы, моя проблема - CORS. Я не могу использовать JSONP, потому что can not изменить anytihng на стороне сервера. Поэтому я меняю свой маршрут и программирую java-программу :) – Kuvalya

0

Если не указать схему (например, https://) или начать URL с // (с указанием, что по отношению к току схема), то первая часть будет рассматриваться как каталог, а не имя хоста.

Вы запрашиваете что-то наподобие: http://example.com/foo/10.0.0.10/info/page.php.

Исправьте свой URL.

+0

№ «http://10.0.0.10.10/info/page.php» не работает. – Kuvalya

+0

Тогда либо это неправильный URL-адрес каким-то другим способом, либо у вас есть другая проблема. Посмотрите на инструменты разработчика вашего браузера. Что они тебе говорят? Есть ли ошибки в консоли? Вы видите запрос и ответ, которые вы ожидаете на вкладке «Сеть»? – Quentin

+0

Hİ. простите за поздний ответ. Я вижу ошибку на chrome: ** XMLHttpRequest не может загрузить файл: /// C:/Users/KUVALYA/Desktop/post. Запросы на кросс-начало поддерживаются только для схем протокола: http, data, chrome, chrome-extension, https, chrome-extension-resource. ** – Kuvalya

 Смежные вопросы

  • Нет связанных вопросов^_^