var enableCORS = function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With');
// intercept OPTIONS method
if ('OPTIONS' == req.method) {
res.send(200);
}
else {
next();
}
};
app.use(enableCORS);
Run Code Online (Sandbox Code Playgroud)
我发现在服务器端使用以下代码片段,但当我尝试 POST 时,仍然收到错误:请求的资源上不存在“Access-Control-Allow-Origin”标头。
我使用 VBA 从 ASX 网站 (www.asx.com.au) 检索股票价格已经有一段时间了,但是,我的脚本不再有效,因为网站已更新,现在使用 JavaScript 来构建内容。
因此,下面显示的脚本现在返回部分而不是页面内容。
VBA(相当标准):
With CreateObject("WINHTTP.WinHTTPRequest.5.1")
.Open "GET", strURL, False
.send
http.body.innerHTML = .responseText
End With
Run Code Online (Sandbox Code Playgroud)
.responseText 包含以下内容:
<SCRIPT>
var urlArray = window.location.hash.split('/');
if (urlArray != null) {
var var1 = urlArray[1];
window.location = "http://www.asx.com.au/asx/research/companyInfo.do?by=asxCode&asxCode=" + var1;
}
</SCRIPT>
Run Code Online (Sandbox Code Playgroud)
如何像在浏览器中查看网页一样检索网页?我唯一没有尝试过的是创建一个浏览器对象可以从中获取 HTML。
我正在尝试用 JS 制作简单的 Tic-Tac-Toe 游戏。
我几乎做了所有的事情。现在只有一件事要做。
我想让它可以与某人在线玩。
我想通过互联网在两个游戏之间发送数据。
不幸的是我的服务器不支持 Node.JS。
有没有一种方法可以在没有任何服务器端“套接字”的情况下实现这一点。
我想我可以用它来XMLHttpRequest()保存/加载数据到服务器文件中并像这样玩,但我认为这需要大量代码,也许对于 ttt 来说它会足够快,但对于更复杂的游戏它不会足够了。
我知道这很难,但是在 Node.js 之前他们是怎么做到的呢?
我发送了带有 x-user-agent 标头的请求。但是,我无法在 ngx.req.get_headres() 中访问 x-user-agent。它不包含“x-user-agent”密钥:
host, x-forwarded-host, accept, x-forwarded-server, x-forwarded-proto, x-forwarded-for, user-agent, accept-encoding, x-real-ip, x-forwarded-port, x-forwarded-prefix
Run Code Online (Sandbox Code Playgroud)
如何同时列出 x-header?
我目前正在学习 Web 开发并接触到 HTTP。让我困惑的一件事是如何准确地发出 HTTP 请求。在我观看的视频中,他们发送 HTTP 请求的主要方式是通过表单元素。做了更多研究,我还发现 HTTP 请求可以通过 Fetch 和 XMLHttpRequest 手动完成。
所以我对这三种方法如何工作以及选择其中一种的好处有点困惑。如果我犯了任何错误,我深表歉意,但我对整个问题很困惑。我尝试使用 Fetch 手动发送 HTTP 请求,例如 PUT 和 POST,但这有点混乱。大多数教程都是使用表单元素来执行此操作,所以现在我想知道是否应该这样做。
我还阅读了通过 JavaScript 发送表单,但它完全超出了我的理解范围。
因此,我尝试查找各种教程和网站来解释使用 HTML/CSS 和 Javascript 进行 HTTP 请求的问题。我希望有人能解释 Forms、Fetch 和 XMLHttpRequest 之间的区别。如果在这种情况下适用的话,使用其中一种与另一种相比有何权衡。
随着即将到来的网络上AJAX应用程序的兴起,我写了一些自己的代码来理解它是什么.我知道必须有比直接处理XMLHttpRequest对象更简单的方法,并认为这就是创建所有AJAX框架的原因.
但是,当我看一些它们时,我主要找到了有关如何创建视觉效果以及如何轻松操作DOM树的文档.我不明白他们为什么称自己为AJAX框架,因为我认为AJAX框架可以帮助我管理发送HTTP请求和处理响应.
我错过了这一点吗?那些框架是什么?
假设我有一个聊天程序,每次有人发送消息时,都会锁定并写入全局文件.接收客户端有一个挂起的xmlhttp请求,它等待使用此结构返回新更新的文件:
while (!hasNewdata())
{ sleep 3; }
print "$thenewdata";
sub hasNewData()
{
# determine if global file has been appended to.
}
Run Code Online (Sandbox Code Playgroud)
将文件大小发送到客户端然后在下一个轮询请求中返回服务器是一个很好的方法,因为我们现在可以检查文件大小是否与已发送回客户端的文件大小不同,所以我们知道有新数据.或者来回发送文件偏移是一种更好的方法,因此它知道在文件中检查新数据的位置?或者完全不同的方法,除了使用全局"聊天"文件之外的其他方法?
什么是确定'新数据可用'的一般方法
XML
<?xml version='1.0' encoding='utf-8' ?>
<RecentTutorials>
<Tutorial author='The Reddest'>
<Title>Silverlight and the Netflix API</Title>
<Categories>
<Category>Tutorials</Category>
<Category>Silverlight 2.0</Category>
<Category>Silverlight</Category>
<Category>C#</Category>
<Category>XAML</Category>
</Categories>
<Date>1/13/2009</Date>
</Tutorial>
</RecentTutorials>
Run Code Online (Sandbox Code Playgroud)
脚本
$.ajax({
type: "post",
url: "Default.aspx?cmd=Setting",
success: parseXml
});
Run Code Online (Sandbox Code Playgroud)
alert(xml);//show xml File Success
$(xml).find("Tutorial").each(function()
{
$("#b").append($(this).attr("author") );
}
没有读取的XML文件虽然是alert(xml); 显示XML文件
php脚本返回一个值,第一个警报正常工作.
我无法在第二个警报中引用httprequest返回的值.理想情况下,我会调用函数get_captcha() - 它会返回值 - 它只是我不知道如何做到这一点.
我意识到在全球范围内设置变量可能不是最好的方法,但这是我唯一能想到的 - 我对替代方案持开放态度.
<script type="text/javascript">
var url = "captcha_get_code.php"; // The server-side script
var cap;
function ValidateForm() {
get_captcha()
alert(cap); //undefined
}
function get_captcha() {
http.open("GET", url, true);
http.onreadystatechange = handleHttpResponse;
http.send(null);
}
function handleHttpResponse() {
if (http.readyState == 4) {
if (http.status==200) {
//return http.responseText;
cap=http.responseText;
alert(cap); //this one works
}
}
}
function getHTTPObject() {
var xmlhttp;
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}
else if (window.ActiveXObject){
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
if (!xmlhttp){
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); …Run Code Online (Sandbox Code Playgroud) 所以我有一个服务器端ajax php文件:
$thing = "\n\ncode\n";
echo(trim($thing, '\n'));
Run Code Online (Sandbox Code Playgroud)

但是当我使用这个php文件进行ajax调用时,responseText没有删除换行符!

var xhr7 = new XMLHttpRequest();
xhr7.onreadystatechange = function() {
if (xhr7.readyState == 4) {
if (xhr7.status == 200) {
alert('trying');
alert(xhr7.responseText);
chrome.tabs.executeScript(null, {code: xhr7.responseText });
} else {
alert("404 server side ajax file DOES NOT EXIST");
}
}
};
xhr7.open('POST', 'http://texthmu.com/Devin/HMU%20ext/Post-jsfile-forItsCode.php', true);
xhr7.setRequestHeader("Content-type","application/x-www-form-urlencoded"); //following w3
xhr7.send(); `
Run Code Online (Sandbox Code Playgroud) xmlhttprequest ×10
javascript ×5
ajax ×2
node.js ×2
php ×2
xml ×2
asp.net ×1
cors ×1
excel ×1
fetch-api ×1
forms ×1
frameworks ×1
html ×1
jquery ×1
json ×1
long-polling ×1
lua ×1
nginx ×1
openresty ×1
perl ×1
post ×1
trim ×1
vba ×1
web-scraping ×1
websocket ×1