[英]jQuery ajax not working in iOS
我们的一位工程师刚把他的iPad带到我面前,并展示了一个不在我们网站上工作的功能。 这适用于Chrome和Firefox,但它无法在iPhone或iPad上运行。 这是3个选择框,当您单击第一个中的值时,它会运行ajax并填充第二个选择框。
这是在iOS中不起作用的功能。
我们有点难以开始测试这个。 任何人都可以提供一些建议,从哪里开始调试这个或者你能看到我们做错了吗?
$().ready(function () {
$('.vehicle-search .make').bind('click', function (e) {
var makeId = $(e.target).val();
var container = $(e.target).parent('.vehicle-search');
if (parseInt(makeId) > 0) {
$.ajax({
url: site.internal.url + '/lib/ajax/vehicle/make/getModelList.php',
type: 'post',
dataType: 'json',
success: function (r) {
if (r.length > 0) {
$('.vehicle-search > .model').html('');
$('.vehicle-search > .year').html('');
var html = '';
for (var i = 0; i < r.length; i++) {
html += "<option value='"+r[i].id+"'>"+r[i].name+"</option>";
}
$('.vehicle-search > .model').html(html);
} else {
alert('We did not find any models for this make');
}
},
error: function () {
alert('Unable to process your request, ajax file not found');
return false;
},
data: {
makeId: makeId
}
});
} else {
$('.vehicle-search > .model').html('');
$('.vehicle-search > .year').html('');
}
});
........
我不知道出了什么问题,但总的来说,这就是你可以用Mobile Safari和IE做的,没有手动调试控制台。
alert()
以至少找出脚本何时停止。 r
success(r)
之外,事件处理程序不会收到任何变量。 查看文档,您将找到可以探测或alert()
变量alert()
,它们可以帮助您实现真正的目标。 特别是error()
处理程序。 compete()
处理程序就会执行。 尝试捕捉变量。 问题是缓存。 添加这行代码,问题应该解决。
$.ajaxSetup({ cache: false });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.