Отказ от ответственности: я использую jQuery Mobile 1.1.0 RC1, который еще не является стабильной версией. У меня есть ссылка, которая должна опубликовать запрос AJAX и вернуть ответ JSON, но при щелчке по ссылке кажется, что jQuery Mobile меняет HREF на хэш (#) в iOS Safari на iPhone. Это не происходит при тестировании в браузерах с агентами пользователя iPhone. Вот мой основной HTML и JS, чтобы показать, что у меня есть:
<a href="/link/to/ajaxpost/">Send Ajax Request</a>
и JS
$('#tab a').on('click', function(e){
var $this = $(this);
var jsonUrl = $this.attr("href");
alert(jsonUrl);
$.mobile.showPageLoadingMsg();
$.ajax({
type: "POST",
url: jsonUrl,
success: function(data) {
$.mobile.hidePageLoadingMsg();
alert(data);
}
});
return false;
});
Значение для "jsonUrl" становится "#" (вместо URL-адреса моего запроса ajax), а затем значение переменной данных возвращает всю страницу, а не фид JSON, который я хочу. Странно то, что это происходит только в iOS Safari на iPhone. Он работает нормально, и фид JSON возвращается, когда я пробую сайт jQuery Mobile с другим пользовательским агентом в OSX Safari или Firefox.
Я попытался добавить rel = "external" и data-type = "ajax" к ссылке, и это не исправило это. Я также использую jQuery Mobile 1.1.0 RC1, но я не уверен, что это проблема, или я просто не правильно использую jQuery Mobile. У меня также нет другого JS для JQuery Mobile в моем коде, так что, возможно, я что-то упустил, чтобы это исправить. Ценю помощь.