如何测试GET / POST或更好的方法?

时间:2014-07-28 19:18:26

标签: javascript php html xmlhttprequest intel-xdk

我正在编写一个应用程序,它将POST / GET请求从远程客户端发送到服务器。作为一种测试和教育自己的方法,我试图通过写一个简单的html文件来制作这些请求,该文件驻留在我的桌面上,其形式将POST到服务器端的php文件。我也尝试使用独立于表单并连接到表单的ajax样式请求或XMLHttprequests,但我在控制台中收到错误:

Cross Origin Request Blocked

对于所有形式或无形式的尝试。我已经读过这是因为我正在从FILE://发出请求,除非以某种方式启用CORS,否则浏览器不允许这样做。我还读到使用网络服务器来托管文件可能会解决问题,但我不明白网络服务器是什么意思(单独或同一个域?灯,xammp,mamp?)我对覆盖安全性不感兴趣(如果我最终无论如何都要找到一种安全的方式,那么(允许使用标题)可以找到安全的方式。

正如我所说,我真的只是想测试,我希望我的html文件与另一台机器的服务器端php进行通信,而不是仅将所有文件放在同一个域/文件夹中。有没有办法使用html / javascript或Websockets或html5提供的任何可能有用的东西?

欢迎代码示例,但如果有人能帮助我更好地掌握这个概念,我们将不胜感激。我是菜鸟XD

如果存在一个更好的方法,我会更开放,我唯一的约束是UI / Client端的所有内容都将用html / javascript编写,但我可以使用intel XDK api和Cordova中的任何一个或两个api也是。

请帮助,谢谢。

4 个答案:

答案 0 :(得分:1)

如果您需要发送一些HTTP请求来测试应用程序的服务器端,我强烈建议您使用像Fiddler这样的HTTP客户端:

http://www.telerik.com/fiddler

另外,请阅读:

GUI HTTP client

基于桌面的客户端将拥有一个很好的GUI,其中包含许多功能,可以调整,保存,发送和重新发送您的请求。

答案 1 :(得分:1)

您可以做的一件事是使用pythons SimpleHTTPServer来提供html文件。然后,当您转到浏览器并转到127.0.0.1:8000时,原点将是相同的。

您可以通过进入包含html文件并运行命令python -m SimpleHTTPServer 8000的目录来运行服务器。这将在端口8000上提供该目录的内容,并且它应该允许在没有CORS异常的情况下发出请求。

继承文件https://docs.python.org/2/library/simplehttpserver.html

答案 2 :(得分:1)

我建议您在浏览器中禁用同源策略,以便从本地文件测试跨域AJAX请求。

例如,使用Windows上的Google Chrome浏览器,您可以使用以下命令启动chrome来禁用此功能:

C:\ Users \ YOUR_USER \ AppData \ Local \ Google \ Chrome \ Application \ chrome.exe --allow-file-access-from-files --disable-web-security

这两个标志一起允许您测试来自本地文件的跨域ajax请求。这些标志与Mac,Windows和Linux相关。

答案 3 :(得分:1)

这不是如何编写请求,但如果您使用的是最新版本的Intel XDK,则可以绕过写入请求。如果您转到最新版本的Intel XDK中的服务选项卡,则会有一个名为Sandbox Explorer的服务。它有一个GET和POST方法UI。只需插入URL,您就会立即看到响应。您可以使用它来调试您正在编写的服务器。让服务器返回正确的响应后,创建数据绑定以在客户端javascript或html代码中使用GET API。交叉起源得到照顾。