javascript – 奇怪的JQuery错误“代码501,消息不支持的方法选项”

前端之家收集整理的这篇文章主要介绍了javascript – 奇怪的JQuery错误“代码501,消息不支持的方法选项”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在学习 JQuery Get方法.我启动了一个 Python HTTP服务器:

(只需输入命令“Python -m SimpleHTTPServer”).

只需在我的网络浏览器上访问“http:// localhost:80”就可以测试这个网络服务器.但是,当我写这个非常简单的JavaScript来访问我的网络服务器.我收到一条错误消息:

代码501,消息不支持方法(‘OPTIONS’)”

我使用jquery.xdomainajax.js库,假设跨域请求JQuery.

这是我的javascript代码

  1. <html>
  2. <head>
  3. <script src="jquery.min.js"></script>
  4. <script src="jquery.xdomainajax.js"></script>
  5. <script type="text/javascript">
  6. $(document).ready(function(){
  7. u = 'http://localhost:80';
  8. jQuery.get(u,function(res){
  9. $("#data").html(res.responseText)
  10. });
  11. });
  12.  
  13.  
  14. </script>
  15. </head>
  16. <body>
  17. <p id="data"></p>
  18. </body>
  19. </html>

实际上,如果我将您更改为任何其他网址,例如“http://www.google.ca”.它运作得很好.但我不知道为什么它不适用于基本的Python HTTP服务器.谁能帮我?

解决方法

我所做的是编写一个自定义的HTTPRequestHandler.我在MyHandler中添加了一个do-OPTIONS方法来告诉浏览器我的服务器支持CORS.这是通过发送标头Access-Control-Allow-Origin,Access-Control-Allow-Methods和Access-Control-Allow-Headers来完成的.另外,我在do_GET方法添加了一个“self.send_header(‘Access-Control-Allow-Origin’,’*’)”语句.
  1. class MyHandler(BaseHTTPRequestHandler):
  2. def do_OPTIONS(self):
  3. self.send_response(200,"ok")
  4. self.send_header('Access-Control-Allow-Origin','*')
  5. self.send_header('Access-Control-Allow-Methods','GET,POST,OPTIONS')
  6. self.send_header("Access-Control-Allow-Headers","X-Requested-With")
  7.  
  8. def do_GET(self):
  9. self.send_response(200)
  10. self.send_header('Access-Control-Allow-Origin','*')
  11. self.send_header('Content-type','text/html')
  12. self.end_headers()
  13. self.wfile.write("<html><body>Hello world!</body></html>")
  14. self.connection.shutdown(1)

猜你在找的jQuery相关文章