gpt4 book ai didi

javascript - jQuery "Uncaught"在 try...catch 内的 ajax 调用上

转载 作者:行者123 更新时间:2023-12-01 05:37:44 25 4
gpt4 key购买 nike

我在 WordPress 编辑帖子管理页面上有一个高级自定义字段,需要进行一些验证。此验证是通过 ajax 完成的(我很确定 acf 和 WordPress 与这个问题无关)。

不幸的是,我在控制台中收到以下错误:对于以下代码,Uncaught Not a valid flickr.com url(第 16 行):

jQuery(document).ready(function($) {
var initialVal = $('#acf-field_560aabcf8dbef').val();
$('#acf-field_560aabcf8dbef').on('paste', function(e) {
var pasteData = e.originalEvent.clipboardData.getData('text');
if (initialVal !== pasteData) {
try {
$.get(ajaxurl,
{
'action': 'ai_check_url_id',
'idOrUrl': pasteData
},
function(response) {
response = $.parseJSON(response);
if (response.error) {
throw response.error.msg;
}

console.log(response);
}
);
} catch (e) {
console.error(e);
}
};
});
});

php函数

<?php
function ajaxIdOrUrl()
{
try {
echo $this->idOrUrl($_GET['idOrUrl']);
} catch (\Exception $e) {
echo json_encode([
'error' => [
'msg' => $e->getMessage(),
'code' => $e->getCode(),
],
]);
}

wp_die();
}

它的作用是:

  • ajaxurl 在页面上定义
  • 在粘贴事件中检查值是否已更改
  • 如果有,则发出 get 请求并发送更改后的数据
  • 答案是 ID 或错误数组

任何人都可以指出我正确的方向,为什么这显示为未捕获(代码在没有错误时工作正常)?

最佳答案

感谢Matt Gibson的输入和 this answer 。我已经将我的 jQuery 修改为:

jQuery(document).ready(function($) {
var initialVal = $('#acf-field_560aabcf8dbef').val();
$('#acf-field_560aabcf8dbef').on('paste', function(e) {
var pasteData = e.originalEvent.clipboardData.getData('text');
if (initialVal !== pasteData) {
$.get(
ajaxurl,
{
'action': 'ai_check_url_id',
'idOrUrl': idOrUrl
}
)
.then(function(response) {
response = $.parseJSON(response);
if (response.error) {
return $.Deferred().reject(response.error)
} else {
return response;
}
})
.done(function(response) {
console.log(response);
// more sucess handling
})
.fail(function(err) {
console.error(err.msg);
// more error handling
});
};
});
});

关于javascript - jQuery "Uncaught"在 try...catch 内的 ajax 调用上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32860582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com