在Ajax响应中包含JavaScript(jQuery)代码是否是一种好习惯? 它可以工作,但是我觉得这不是最好的方法(而且我认为这是一个糟糕的设计,使事情难以调试)。

是否应该在对服务器进行Ajax调用之前加载所有JavaScript?

最好的方法是什么? 一个简单的例子会有所帮助!

===============>>#1 票数:4 已采纳

AJAX响应中的Javascript代码存在许多问题:

1)无法确定Javascript代码的加载时间。 不要从服务器动态加载js代码。 脚本加载属性无法在所有浏览器中很好地实现。

2)动态CSS加载/动态加载的js上的应用无法及时同步,再次出现计时问题。

3)闭包问题-通常,响应函数是$ .ajax函数的子级(回调),再次$ .ajax是事件处理程序的子级。 因此最好只在第一次加载浏览器时放入js。 如果变量放置不正确,则可能会遇到关闭问题。

因此,基本上, 仅将响应解析代码放在function(response){}中,例如XML,JSON,Text,HTML ...

请记住,在回调函数中填充大量代码是一种不良做法。

===============>>#2 票数:2

我认为您的工程本能是对的。 将您的代码放入JavaScript文件中,对其进行压缩/最小化/打包,然后将其提供一次。 然后,浏览器可以对其进行缓存。 将ajax调用限制为从服务器而不是代码中检索数据或标记。

... 95%的时间。 我愿意打赌, 有时候您可以证明奇怪的代码作为有效负载,但是我还没有这样做。

===============>>#3 票数:0

我认为可以加载少量但不是很多脚本代码以及ajax响应。

例如,我们使用MVC3及其jquery非侵入式验证插件。 我们的某些表单通过ajax加载了部分视图。 它们加载后,为了使客户端验证再次起作用,我们必须运行以下这行jQuery:

$.validator.unobtrusive.parse('form');

像这样的东西我不介意在局部视图中使用,尽管它可以很容易地在$ .ajax.success函数中出现。

  ask by Subrat Basnet translate from so

未解决问题?本站智能推荐:

1回复

在AJAX成功响应中执行Javascript代码(在单独的文件中)?

我尝试执行Javascript文件(将Google Maps API放在div上) **当AJAX成功响应发生时。 我的AJAX成功显示了一些JSON值,但是我想在相同的成功响应中执行Javascript文件。 到目前为止,我的“ main.html”文件中包含以下代码: 我
2回复

在Ajax响应中执行JavaScript

我正在使用ajax(使用jQuery)来更新网页的某些部分。 查询返回html以在各个位置插入。 但是,这些html块有时包含包含可在其所在位置写东西的javascript。 我的意思是,在AJAX返回的html的某个div中,其中包含一个脚本,该脚本执行一些document.writ
2回复

在Ajax响应中执行JavaScript

我有一个ajax表单过程。 但是,当我单击某个功能时,我会执行此过程。 当我单击它时,它将在Jquery对话框中打开一个PHP表单。 但是当我处理表格时,POST VAR为NULL。 这是代码: 具有请求表格功能的主文件: 具有AJAX表单过程和PHP表单的文件:
4回复

Javascript和Ajax响应

我有一个javascript文件,该文件应该与我的ajax请求的响应进行交互,但显然javascript无法从ajax请求中读取响应。 我要问的是,如何使我的jquery插件在我的ajax请求的响应中读取该类? 这是没有ajax的脚本的外观: Ajax文件: 这是我想
2回复

如何使用jquery从ajax响应中提取Javascript代码块?

如何使用jquery从ajax响应中提取Javascript代码块? 除了其他标签(在本例中为div标签)之外,还不能执行或评估javascript代码, 在get_js.html中 在src.php中
1回复

Ajax,在javascript中处理php响应

所以我正在学习Ajax并且我遵循了本教程: https : //phpacademy.org/course/submitting-a-form-with-ajax来创建适用于任何表单的函数。 这是完整的功能: 如你所见,我正在做的就是提醒响应,在这种情况下是php echo 。 这就
1回复

在Ajax响应中查找使用Javascript的元素

我有一个带有一些输入,选择和其他内容的表单,我写了一个“搜索栏”,它将发送Ajax请求结果以查找要附加到该表单的联系人: index.php-表格 index.php -Ajax 文件contact.search.php正在处理请求,并将回显包含以下元素的表:表: <
3回复

Javascript中的ajax响应后未调用下拉事件

这是我的代码: $.ajax({ url: "server.do?button=go&flag=false", type: "GET", success: function(data) { var respContent = ""; respContent += data
1回复

如何在ajax响应页面中执行javascript? [重复]

这个问题已经在这里有了答案: jQuery-HTML中的脚本标签由jQuery解析并且不执行 5个答案 我正在执行ajax调用 ,该调用 从该页面获取整个页面 ,而我正在获取页面的一部分(具有javascript) 。 当我追加html页面的该部分时 , 不会执行
2回复

javascript中的jquery ajax呼叫响应为空

函数fail给我正确的输出,而函数done给我空白。 我坚持了几个小时。 关于如何调试的任何想法?