所以我的问题是,我有一个服务器,当用户向其URL地址发送字符串时,它会将JSONobject返回给用户。问题是此服务器需要以下参数: 主机名、端口(启动时) 从用户的pc,以服务与JSONobjects的用户。你知道吗
因此,我首先必须手动启动一个服务器(我们可以称之为getserver1),服务器的代码是(不关心导入的内容,它只是在python2和python3上启用它):
#!/usr/bin/env python
try:
# Python 3
from http.server import HTTPServer, SimpleHTTPRequestHandler, test as test_orig
import sys
def test (*args):
test_orig(*args, port=int(sys.argv[1]) if len(sys.argv) > 1 else 8000)
except ImportError: # Python 2
from BaseHTTPServer import HTTPServer, test
from SimpleHTTPServer import SimpleHTTPRequestHandler
class CORSRequestHandler (SimpleHTTPRequestHandler):
def end_headers (self):
self.send_header('Access-Control-Allow-Origin', '*')
SimpleHTTPRequestHandler.end_headers(self)
if __name__ == '__main__':
test(CORSRequestHandler, HTTPServer)
在这台服务器上,我放置了一个html文件,其代码如下:
<html>
<head>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
</head>
<body>
<script>
$.ajax({
url: "http://user-pc:8000/getserver2.py",
success: function(response) {
console.log(response);
}
});
</script>
</body>
</html>
我得到的错误是:No“Access Control Allow Origin” 当html文件运行时。getserver2.py的代码与上面的getserver1的代码相同,getserver1应该允许“Access Control allow Origin”。你知道吗
那我怎么才能让它工作呢。我不想在炖肉中加入任何像php之类的新元素。你知道吗
另外,当这个方法起作用时,下一个问题是用2个参数启动getserver2(因此是的,getserver2与getserver1有点不同,但只是在它接受这两个参数的意义上)。但是我现在做的测试在两个服务器中都使用相同的代码。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐