任何混合了 .ajax() 和 .load() 功能的函数
Any function with mixed functionality of .ajax() and .load()?
.ajax(( 可以发送 post 请求并获取数据作为回报,而 .load(( 可以获取渲染页面中的任何元素。如何在提交时(异步(创建一个表单,而不是取回一些数据,应该获取渲染页面的页面元素,如果有正常提交而不是 ajax 提交,将生成该元素?
我不想为 xhr 单独编写视图(Django(,正常请求。因此,当我通过ajax提交表单时,我不想劫持默认操作,而只想获取呈现的帖子提交页面的某些元素,而不是实际重定向到该帖子提交页面,如果不是xhr请求,就会发生这种情况。
更新:
如果您提供要作为对象而不是字符串发送的数据,load
将执行POST
而不是GET
。从文档中:
请求方法
如果数据作为对象提供,则使用 POST 方法;否则,假定为 GET。
所以:
$("#target").load("/path/to/resource selector_for_relevant_elements", {});
..应将load
从GET
转换为POST
。当然,您可以将{}
替换为要发送的参数。
原答案:
您可以直接使用 ajax
执行POST
,然后自己处理返回的 HTML。例如,要转动此load
:
$("#target").load("/path/to/resource selector_for_relevant_elements");
..成POST
:
$.ajax({
url: "/path/to/resource",
method: "POST",
dataType: "html",
success: function(html) {
// Build the elemnts of the result in a disconnected document
var page = $("<div>").append(html); // See note below
// Find the relevant elements and put them in target
$("#target").html(page.find("selector_for_relevant_elements"));
}
});
我已经完成了包装器div
因为这就是jQuery的load
函数所做的。您可能需要查看load
的来源(当然,该行号会腐烂,但文件名不太可能更改(,以查看是否需要复制其他技巧。
相关文章:
- javascript函数访问ios本机功能
- 如何从服务器向客户端调用函数?(远程功能调用)
- 如何分解jQuery"toggle”;函数转换为separate“;显示“;以及“;隐藏“;功能
- JS不工作:Sublime 3编辑器-Var main=函数()-=不是“”;激活“;(功能新手)
- JavaScript美学:;函数foo(){}"vs“;var foo=函数(){}"AMD功能
- 一个Ajax函数能产生另一个Ajax功能吗
- 从根本上说,函数调用出了问题.功能在控制台中确实有效
- jQuery加载函数后,jQuery UI自动完成功能不起作用
- 成功:功能(数据);不使用命名函数
- 如何制作“;模态构象”;此函数调用中的功能
- 日志记录功能/对象名称's在函数堆栈内的javascript中
- 创建可在任何地方使用的 JS 函数?范围和功能“未定义”的问题
- 如何在 Crockford 的新构造函数模式中共享“构造函数”功能
- 是否可以将这些类似的功能合并为一个函数
- 异步功能完成后执行函数
- 覆盖嵌套函数或附加新功能
- 为我的简单 JavaScript 函数添加回调功能
- 为什么你不应该向JavaScript构造函数添加功能,而是通过原型
- 具有分组功能的 JavaScript 排序函数
- 浏览器如何读取JavaScripts,它应该排在第一位(设置在顶部):事件?功能?或子函数