Javascript 错误:跨源请求仅支持协议方案
编辑:原始问题已修复。我需要在参数xmlttp.open()的url前面添加协议http://infort。新问题:Django拒绝请求:“POST 127.0.0.1:8000/数据403(禁止)” 我有一个通过AJAX函数runAJAX()提交的表单。此函数向服务器发出POST请求。问题是服务器没有收到请求。如果不是url参数,而是将xmlhttp.open()的url参数留空“”,则服务器后端的控制台日志才会显示发出的POST请求,但在这种情况下,服务器会拒绝该请求。我的问题是如何成功地通过POST请求?我做错了什么?服务器在我的计算机上本地托管(127.0.0.1:8000)。连接到127.0.0.1:8000将获取index.html 点击“我的表单”的“提交”按钮时,浏览器日志中出现错误消息:Javascript 错误:跨源请求仅支持协议方案,javascript,html,ajax,django,web-services,Javascript,Html,Ajax,Django,Web Services,编辑:原始问题已修复。我需要在参数xmlttp.open()的url前面添加协议http://infort。新问题:Django拒绝请求:“POST 127.0.0.1:8000/数据403(禁止)” 我有一个通过AJAX函数runAJAX()提交的表单。此函数向服务器发出POST请求。问题是服务器没有收到请求。如果不是url参数,而是将xmlhttp.open()的url参数留空“”,则服务器后端的控制台日志才会显示发出的POST请求,但在这种情况下,服务器会拒绝该请求。我的问题是如何成功地通
XMLHttpRequest cannot load %3127.0.0.1:8000/data/. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
runAJAX @ (index):44
stopDefAction @ (index):51
Uncaught NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load '%3127.0.0.1:8000/data/'.
runAJAX @ (index):44
stopDefAction @ (index):51
我的代码(Javascript、HTML index.HTML、Django backend url.py和views.py文件):
函数runAJAX(){
open(“POST”,“127.0.0.1:8000/data/”,true);
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
var searchtype=document.getElementById(“searchtype”).innerHTML;
var subreddit=document.getElementById(“subreddit”).innerHTML;
xmlhttp.send(“searchtype=“+searchtype+”&subreddit=“+subreddit”);
}
函数stopDefAction(evt){
evt.preventDefault();
runAJAX();
}
document.getElementById('submit')。addEventListener(
“单击”,停止删除,错误
);
var-xmlhttp;
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
Reddit链接
Subreddit推荐系统
快速的
精确的
0%
也许您需要指定协议方案?例如:”http://127.0.0.1:8000/data/“
是的,完成了任务,谢谢!现在我只需要弄清楚django为什么拒绝这个请求:“403站(禁止)”我不知道。。。但是你应该编辑你的帖子以反映你的进度在视图中的每个函数的顶部添加@csrf\u豁免装饰符。也许你需要指定协议方案?例如:”http://127.0.0.1:8000/data/“
是的,完成了任务,谢谢!现在我只需要弄清楚django为什么拒绝这个请求:“403站(禁止)”我不知道。。。但是你应该编辑你的帖子来反映你的进度,在视图中每个函数的顶部添加@csrf_豁免装饰器。