JavaScript in AJAX Response
JavaScript in AJAX Response
我有一个关于AJAX的一般问题。是否可以在 AJAX 响应中发送 JavaScript 并执行它?还是使用 JSON 或纯 HTML 响应的唯一优雅方式?我的问题是我正在寻找处理 AJAX 请求的最佳方法,这些请求导致插入 HTML 或执行 JavaScript,具体取决于用户数据。
多谢。
AJAX 响应之后执行的 JavaScript 函数对除了某些变量之外的每个人都是标准的。如果是这种情况,您应该在脚本文件中包含 JavaScript 函数,该函数在 .然后让 AJAX 响应返回所需的变量,例如用户 ID。然后使用该变量正常调用 JavaScript 函数,而不是每次都注入一个新函数。
如果返回 HTML,您可以在成功的 AJAX 请求时将其直接插入到 DOM 中。
我认为要走的方法是始终返回 JSON,即使它是一个 HTML 响应。JSON 响应可能如下所示:
{"responseType":"HTML", "varID":null, "payload":"<div>some html</div>"}
如果响应类型为 JS,则 varID 可以具有该变量,并且有效负载可以为 null。这只是一个例子,但您可以执行类似操作来标准化响应,但同时处理这两种情况。
不,这样做是可以的,在jQuery $.getScript中就是这样做的,它通过ajax获取文件,然后对其进行评估。这就是为什么使用 getScript 时不会添加任何脚本标签的原因
执行 ajax 调用收到的 javascript 是一个坏主意,因为这可能导致 XSS 风格的攻击(eval 是邪恶的,所有的爵士乐)。
AJAX 响应最好以 JSON 格式提供,然后客户端脚本可以根据它收到的 JSON 进行操作。
- jQuery ajax cache response
- JQuery Ajax does not response to Node JS
- JSON and AJAX response
- ajax response run javascript
- Jquery ajax POST response is null
- Javascript AJAX POST Response
- Rails New Model Ajax Response
- Jquery AJAX response JSON in variable.
- Ajax XML response is NULL
- jQuery on method with ajax response
- extjs ajax response with python bottle
- IE8 & 9 - no jquery ajax response object
- jQuery/Javascript/AJAX response:将字符串而不是 int 传递到函数中
- JavaScript in AJAX Response
- django-ajax json response
- Ajax response PHP echo HTML
- 如何返回response.valid而不是response.d ASP.NET ajax
- Ajax response is null
- 同时使用“数据”和“数据”.和“;response"属性中的ajax调用
- Ruby on Rails, json vs js ajax response