我正在整理一个简单的网页,向用户提供一个jQuery滑块来选择一个值。来自滑块的“stop”事件应触发GET请求,该请求将值发送到一些PHP代码以处理响应。然后用户被重定向到另一个页面:
stop: function( event, ui ) {
var slideValue = $( "#slider" ).slider( "value" );
$.get('submit.php', { item : slideValue });
window.location = "thanks.html";
}
这非常有效 - 但只有我使用Firefox或iPad版的Safari。这两个都会生成完成工作的HTTP请求。
问题出在Mac OS Safari上。 slideValue
已正确设置,并且重定向发生 - 但由于某种原因,GET请求不会执行应该执行的操作,并且不会调用PHP代码。
从Safari手动调用submit.php?item=<number>
。
我是JavaScript和jQuery的新手,所以我不确定我是否遗漏了一些明显的东西。提前感谢您的帮助。
答案 0 :(得分:2)
在更改位置之前,您应该等待获取请求的答案!
stop: function( event, ui ) {
var slideValue = $( "#slider" ).slider( "value" );
$.get('submit.php', { item : slideValue },function() {
window.location = "thanks.html";
});
}
如果使用jQuery 1.5,则可以使用延迟对象:
stop: function( event, ui ) {
var slideValue = $( "#slider" ).slider( "value" );
$.get('submit.php', { item : slideValue })
.success(function() {
window.location = "thanks.html";
})
.error(function() {
alert("error");
});
}