gpt4 book ai didi

javascript - 从成功的 AJAX post 中获取结果并使用 globalEval 设置 HTML

转载 作者:行者123 更新时间:2023-11-28 15:54:36 25 4
gpt4 key购买 nike

我有一个异步发布数据的 Jquery 函数

function post_data_async_globalEval(post_url, post_data, globaleval) {
$.ajax({
type: 'POST',
url: post_url,
data: post_data,
dataType: 'html',
async: true,
timeout: 20000, // in milliseconds ~ 20 secs
success: function (result) {
jQuery.globalEval(globaleval);
}
});
}

我就这么调用它

post_data_async_globalEval("../Internal/RTV_COM?vid=1578", "type=TM", "$('#postinnerhtml').html(result);");

我想要的只是执行这个 JS 函数

$('#postinnerhtml').html(result);

并将响应的 html 替换为来自 Ajax post 请求的 success 函数的结果变量。

但是当我执行代码时出现此错误

Uncaught ReferenceError: result is not defined

我可以在我的成功函数中添加JS代码,但我不想只使用一个特定的JS代码,我只想解析操作成功后要执行的JS代码。

最佳答案

您可以传递一个函数,而不是传递字符串作为 globaleval 参数:

function(result) {$('#postinnerhtml').html(result);}

在 ajax 调用中:

success: globaleval

(顺便说一句,在这种情况下,您可能还想更改参数名称...)

[编辑]为了在这里转发我最初的评论,您还可以使用 native eval() 而不是 jQuery.globalEval()。然而,当您接受来自外部源的输入(此处为 ajax 调用的结果)时,eval() 通常被认为是邪恶的。

关于javascript - 从成功的 AJAX post 中获取结果并使用 globalEval 设置 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19351938/

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