【问题标题】:use Node.js to send a json request from client to the server使用 Node.js 将 json 请求从客户端发送到服务器
【发布时间】:2011-07-26 12:26:24
【问题描述】:

我有一个 grails 项目用作服务器。它接收来自另一个 javascript 项目的请求。这个请求是json请求。

问题: 服务器没有收到任何请求 我尝试使用node.js,我该如何使用它?

注意: 在 grails 服务器项目的 url 映射中,我声明了这个 url 并访问特定控制器中的特定操作

谢谢

【问题讨论】:

  • 该代码所在页面的 URL 是什么?
  • 这是我电脑中的本地文件.html (file:///home/danny/workspace/test.html)
  • 那是你的问题。

标签: javascript html url grails client-server


【解决方案1】:

浏览器不允许您向不同域中的 URL 发出 ajax 请求。如果您发布的客户端代码,正如您在评论中所说,在您机器上的“文件:”URL 中,那么浏览器将不允许通过 XMLHttpRequest 访问那些“http://localhost”URL(“ $.ajax()")。这就是所谓的“同源政策”。

如果您可以从“http://localhost:8058”网址提供您的测试页面,那么您就可以与服务器对话。

【讨论】:

  • 如何在没有 ajax 的情况下发送 json 请求,如果有其他方法请在此处发布
  • @danny-london:如果你想发送一个跨域请求,你不能从网络浏览器中做到这一点。如果你想在 JavaScript 中这样做,请使用NodeJS。但许多其他编程语言也允许您创建 JSON 调用:Perl、PHP、Python...
  • 如果需要GET跨域请求,则必须使用JSONP请求类型。对于 POST 有两个选项:配置 CORS(某些浏览器存在问题),或使用 EasyXDM 库
【解决方案2】:

确保jquery-1.6.2.js.html 文件位于同一目录中。

【讨论】:

  • jquery-1.6.2.js 在 .html 文件的同一目录下。任何其他想法
  • 在这种情况下,$ 应该是已知的。但我看到你已经删除了那些 cmets。
  • 是的,我解决了这个错误,现在知道$,现在的问题是服务器没有收到来自客户端的任何请求
猜你喜欢
  • 2014-12-27
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-12
  • 2013-08-13
  • 2013-11-16
相关资源
最近更新 更多