javascript - 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 调用。但我该如何处理呢?
解决方案
与处理函数的方式相同,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返回的数据。因此,当您登录控制台时,您可以看到该结构,以便您知道以后如何处理它。
推荐阅读
- tcl - 如何在画布上将 sqlite3 查询结果打印为矩阵?
- list - Prolog检查列表是否包含偶数个元素
- mysql - 嵌套最小值和最大值的 SQL 查询
- python - 多个QThreads的PyQt确认完成
- php - Magento2 - 新手选择产品
- javascript - Codewars错误上的Javascript Maze Runner
- c++ - CRC 计算 - 逐位 - C++
- mysql - 如何将mysql表数据导出到文件
- javascript - .addEventListener 不起作用,有什么想法吗?
- php - PHP/MySQL - 从后台运行操作/处理运行时间较长的方法