2

我正在尝试通过 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 控制台检查从服务器收到的响应。

请帮我解决问题。

4

1 回答 1

5

试试这个:

function loginh(event) {
  event.preventDefault();

  // all your codes
}

其中,event是按事件传递给loginh函数的参数submit,这.preventDefault()停止表单的默认提交行为,从而停止 AJAX 提交。

于 2012-08-16T18:25:51.690 回答