首页 > 解决方案 > jQuery ajax 调用未打开请求的站点

问题描述

我有一个

<button id="myid">

在我的 HTML 代码中。在我的 JS 文件中,我尝试捕捉点击事件并调用特定的 URL——就像点击普通的 HTML 链接一样。

这就是我所做的:

$('#myid').on('click', function () {
    doSomething();
});

var doSomething = function () {
    $.ajax({
        url: "/targetURL",
        type: "GET",
        cache: false,
        async: true,
        error: function (error) {
            console.log(error);
        }
    });
}

所以 - 调用了 URL,但没有显示响应 - 我猜是因为这是一个 ajax 调用。但我该如何处理呢?

标签: javascriptjqueryajaxget

解决方案


与处理函数的方式相同,error您应该处理调用成功success()时触发的函数。ajax

您也不需要设置async: true,因为它true默认设置为。

添加.preventDefualt()click函数以确保当您单击按钮时,唯一发生的是您要触发的函数。

$('#myid').on('click', function(e) {
    e.preventDefault();
    doSomething();
});

var doSomething= function(){
    $.ajax({
        url: "/targetURL",
        type: "GET",
        cache: false,
        success: function(data) {
            console.log(data);
        }
        error: function(error) {
            console.log(error);
        }
    });
}

函数中的data参数success()ajax返回的数据。因此,当您登录控制台时,您可以看到该结构,以便您知道以后如何处理它。


推荐阅读