亲爱的我的问题不是重复的。
码:
var data = {'userId': window.cookie.get('userId'),
'sessionId': window.cookie.get('sessionId')}
$.post(window.DbUrl + '/test', data, function (e) {
console.log(e);
});
我尝试用jQuery post发送ajax,响应为:
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:Origin, Content-Type, X-Auth-Token, Authorization
Access-Control-Allow-Methods:GET, POST, PATCH, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin:https://localhost:8080
Connection:keep-alive
Content-Length:1011
...
码:
var formdata = new FormData();
formdata.append('sessionId', window.cookie.get('sessionId'));
formdata.append('userId', window.cookie.get('userId'));
var ajax = new XMLHttpRequest();
ajax.upload.addEventListener("progress", selff.myProgressHandler, false);
ajax.addEventListener("load", myCompleteHandler, false);
ajax.addEventListener("error", myErrorHandler, false);
ajax.addEventListener("abort", myAbortHandler, false);
ajax.open("POST", window.DbUrl + '/test',true);
ajax.send(formdata);
我尝试在相同的URL响应中使用XMLHttpRequest是:
Allow:POST
Connection:keep-alive
Content-Length:4
Content-Type:text/html; charset=utf-8
在nodejs express服务器中,缺少Access-Control-Allow-*
标头。
但是,当使用XMLHttpRequest将ajax发送到php服务器时,一切都很好。
nodejs服务器:
app.post('/test', function (req, res) {
res.setHeader('Access-Control-Allow-Origin', 'https://localhost:8080');
res.setHeader('Access-Control-Allow-Credentials', 'true');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, DELETE, OPTIONS');
res.setHeader('Access-Control-Allow-Headers', 'Origin, Content-Type, X-Auth-Token, Authorization');
res.end('welcome');
});
php服务器还可以:
<?php
header('Access-Control-Allow-Origin: https://localhost:8080');
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token, Authorization');
?>wellcome
问题是什么?为什么php服务器可以正常使用,两个nodojs都不可以,为什么jquery在任何服务器上都可以?
javascript大神给出的解决方案
我不知道原因,但是如果要修复它,请使用cors包。
由于包裹在快递请求中触发,因此在发送手册之前先发送标题。
在初始化提交之后但在将数据发送到处理页面之前,是否可以过滤$ _POST表单数据?我想象过程的方式:提交->收集$ _POST数据->发送数据我想做的事:提交->收集$ _POST数据->删除某些元素->发送数据这样就不必更改处理页面以过滤掉不希望接收的元素了吗? javascript大神给出的解决方案 当然可以,您可以在JS …
执行onclick时获得意外令牌 - javascript我正在使用onclick事件从PHP调用JS函数。这是我的代码:我在一个函数中,因此我需要通过PHP来完成它,因为然后我会返回:$html = '<input type="checkbox" checked value="1" id="setGetSku" name="se…
ajax正在加载页面以返回POST请求 - javascript当我通过ajax发出“ POST”请求时,返回请求时页面正在加载。我们不使用ajax阻止整个页面重新加载吗?这是我的html代码:<form method="post"> <div align="center" class="col-md-10"> <input typ…
如何防止SQL使用单引号字符存储转义字符 - javascript我需要存储在开头和结尾都带有单引号的文本字符串。我正在从PHP发布JavaScript命令。我将引号添加到这样的字符串中:echo '<script type="text/javascript">'; echo 'function GetCodes() {'; echo 'va…
在Wordpress插件中加载自定义JavaScript - javascript好的,这让我发疯了:我正在尝试构建一个简单的Wordpress插件,并且正在尝试确保js与php分开。我已经看过了法典和各种教程,但要么都是在做假设,要么是我只是个白痴,因为它不起作用...基本上,我最终希望通过ajax向自定义添加一些行添加帖子时使用表格,但首先我要让“ Hello World”在“添加帖子”页面上工作...当然,这很简单:这是myplug…