我已经用谷歌搜索了一段时间,只能找到能做什么processData: false
。我找不到遇到相同问题的任何人。
我将JSON传递回服务器,并且不希望jQuery自动将数据转换为查询字符串,因此我将processData设置为false。如果我取出processData,则可以看到请求触发,但是一旦将其放入,就看不到正在发出任何请求(使用Firebug和Chrome开发工具)。
$.ajax({
url: myUrl,
type: "POST",
data: {foo: "bar"},
processData: false,
contentType: 'application/json'
});
我最初发出的请求比这个要复杂一些,但是我已经简化了它以缩小问题范围,但是这段简单的代码也不起作用(同样,如果我注释掉processData,它也可以起作用)。另外,我在控制台中没有看到任何JavaScript错误。
对于未来的网络搜索者:正如lonesomeday指出的那样,如果您提供JS对象或格式错误的JSON字符串,jQuery不会引发任何错误。它根本不会触发请求。
您想将数据作为JSON传递。您正在传递Javascript对象。JSON是一种将Javascript对象序列化为字符串的方法,以便可以传递它们而不会出现兼容性问题。
您实际上想在字符串中传递JSON:
$.ajax({
url: myUrl,
type: "POST",
data: '{"foo": "bar"}',
processData: false,
contentType: 'application/json'
});
问题内容: 我有以下代码 在Chrome等中,请求不会被缓存,但是它们在IE中。我是否正确构建了请求? 问题答案: 应该是布尔值,而不是字符串:
问题内容: 我正在使用对PHP的jQuery AJAX调用来验证登录表单。在php中,我创建一个会话,如果他们选中了“ remember me”复选框,我想创建一个cookie。这是php代码: 会话设置成功,但是cookie完全没有设置。我尝试设置所有值(域,路径等),但没有任何改变。有什么明显的我想念的吗? 问题答案: 以下是一些建议: 确保您指定了正确的日期到期格式 在重定向页面上设置coo
查看spings autoconfiure源代码时,似乎每个自动配置类都设置了。 javadoc对这个特定字段给出了详细的解释: 指定是否应该代理{@code@Bean}方法以强制bean生命周期行为,例如,即使在用户代码中直接调用{@code@Bean}方法的情况下,也返回共享的单例bean实例。(…)如果不需要这样做,因为此特定配置的每个{@code@Bean}方法都是自包含的,并且设计为容器
问题内容: 如何使用jQuery在Grails页面中发出Ajax请求? 如何在Grails Controller上设置击中方法的URL?假设控制器:“机场”,动作:“ getJson”,动作的输入为“ iata”。 我能够将静态网址设置为,但无法弄清楚如何为iata传递输入。 我对Grails并不陌生,并遵循IBM的“掌握Grails”教程系列。建议我给我一些有关将Grails与jQuery一起使
问题内容: 为了解决CSRF问题,我为Ajax使用了客户端设置: 直到今天,一切正常。但是现在我需要在发布之前做一些检查: CSRF验证失败。请求中止。据我了解,我只是取消了ajaxSetup对新功能的操作。如何将这两件事结合起来? 问题答案: 使用代替。 如您所说,定义了默认处理程序,然后可以将其覆盖。使用,您可以注册多个处理程序以在发送ajax请求之前触发。与自定义处理程序配合正常。
问题内容: 上下文: chrome浏览器扩展程序使用JQuery请求来自远程django应用程序的响应。Django识别出该请求是通过AJAX发出的,并以“HelloAJAX!”响应。我以这个伟大的榜样为基础进行锻炼。由于此请求是通过chrome扩展程序发出的,因此该请求是跨站点发出的,因此我在Django视图上使用了装饰器。 问题: 我的Django视图无法将请求识别为AJAX请求,并且没有响应