我正在尝试通过JQuery发送一个AJAX请求。
这是我的JQuery代码:
$(document).ready(function() {
$("#login").submit(loginh);
function loginh() {
console.log("Sending request");
var dat = {
"ucCustomer": {
"ucLoginRequest": {
"customerId": "8a6a7d82392bdaa701392bdabb3a0013",
"userName": "0.34705725672258025@mars.com",
"password": "23456"
}
}
};
console.log(JSON.stringify(dat));
var d = JSON.stringify(dat);
$.ajax({
headers: {
"Content-Type": "application/json",
"X-Message-Sending-PartnerId": "UNICREDIT",
"X-Message-Type": "ucCustomerLoginRequest",
"X-App-UserId": "UNICREDIT",
"X-App-DeviceFingerPrint": "abc"
},
type: "POST",
url: "http://localhost:8010/UniCreditMobileService/services/ucms/customer",
data: d,
success: function(data) {
alert(data);
console.log("success: " + data);
}
});
}
});
我在java中编写了一个JUnit测试用例,这个请求运行正常。同样,我已经尝试使用chrome浏览器的Dev-HTTP插件发送请求,它工作正常。但是,我的JQuery代码不起作用。
启动html页面时没有任何反应。我没有回复。我正在使用Firebug控制台检查从服务器收到的响应。
请帮我解决问题。
答案 0 :(得分:5)
试试这个:
function loginh(event) {
event.preventDefault();
// all your codes
}
其中,event
是loginh
事件传递给submit
函数的参数,而 .preventDefault()
将停止表单的默认提交行为,停止AJAX提交。