我无法解释以下内容:
我有以下代码。此代码在Firefox和Chrome中运行良好,但在IE中,用户必须按两次“提交”按钮才能登录。
file example1.js
git pull --rebase
在一个单独的js文件中,我有:
$(document).ready(function(){
$('body').on("submit", "#signinForm", function( event ) {
event.preventDefault();
target = (event.currentTarget) ? event.currentTarget : event.srcElement;
bp_ajax(callback_login_succes, target);
});
var callback_login_succes = function(data, textStatus, xhr) {
$(jQuery.parseJSON(JSON.stringify(data))).each(function() {
if (this.code !== 'success') {
// give the response to a validate function
bp_validate(data);
} else {
// success so redirect
setTimeout("document.location.href='/"+lang+"/index/';",0);
}
});
}
});
HTML
var bp_ajax = function(cb, form) {
$.ajax({
type: 'post',
url: '/ajax/validation.php',
data: $(form).serialize(),
success: cb
});
}
答案 0 :(得分:1)
不确定为什么会发生这种情况,但一些建议可能有助于清理它
click
而非#btnSignin
submit
type="submit"
替换按钮上的type="button"
(不会尝试提交表单,因此您不必取消活动)通过这种方式,您不会编写提交表单的按钮,然后进行编码以使其不这样做 - 您只需编写一个按钮即可在单击时触发事件。
答案 1 :(得分:0)
您尝试添加: contentType:“application / json; charset = utf-8”