从成功的AJAX帖子中获取结果,并使用globalEval设置HTML
Get result from sucess AJAX post and set HTML using globalEval
>我有一个异步发布数据的 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 请求的成功函数的结果变量。
但是当我执行代码时出现此错误
Uncaught ReferenceError: result is not defined
我本可以在我的成功函数中添加 JS 代码,但我不想只使用一个特定的 JS 代码,我只想解析操作成功后要执行的 JS 代码。
您可以传递一个函数,而不是将字符串作为全局变量参数传递:
function(result) {$('#postinnerhtml').html(result);}
在 ajax 调用中:
success: globaleval
(顺便说一句,在这种情况下,您可能还想更改参数名称...
[编辑] 为了在这里传达我最初的评论,你也可以使用原生的 eval() 而不是 jQuery.globalEval()。然而,当你接受来自外部源的输入时,eval() 通常被认为是邪恶的(这里是 ajax 调用的结果)。
如果您只想用响应替换#postinnerhtml
内容,您应该安全地将$('#postinnerhtml').html(result);
移动到 success: function (result) { }
内。所以看起来像:http://jsbin.com/OGOgEnO/1/edit
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何设置html元素填充的动画
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何编写HTML输入的JS内联
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 使用javascript将动态表从一个html页面打印到另一个html页
- 通过javascript重定向html传递php变量
- 如何使Javascript动态html表及其上的事件
- 在chrome.tabs.onCreated之后加载HTML页面
- 如何在vs2002中调试html页面
- 如何使用javascript或html下载PDF格式的填写表单
- 视频HTML没有'无法在Internet Explorer 11上工作
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 使用angular重定向到html页面
- 分析高度属性时出现意外值{{specs.height}}.index.html
- 在html Select中添加搜索
- 多级HTML表单
- 从成功的AJAX帖子中获取结果,并使用globalEval设置HTML