我有一个非常简单的Node JS文件:
test.js
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="info">
<div class="band band1">
<p>All Time Low</p>
<show>Show dates</show>
</div>
<div class="alldates">
<div class="date">
<li id="time">30 Oct 2017</li>
<li id="place">London</li>
</div>
<div class="date">
<li id="time">2 Nov 2017</li>
<li id="place">Paris</li>
</div>
</div>
</div>
<div class="info">
<div class="band band2">
<p>Johnny Cash</p>
<show>Show dates</show>
</div>
<div class="alldates">
<div class="date">
<li id="time">30 Oct 2017</li>
<li id="place">London</li>
</div>
<div class="date">
<li id="time">2 Nov 2017</li>
<li id="place">Paris</li>
</div>
</div>
</div>
<div class="info">
<div class="band band3">
<p>30 Seconds to Mars</p>
<show>Show dates</show>
</div>
<div class="alldates">
<div class="date">
<li id="time">30 Oct 2017</li>
<li id="place">London</li>
</div>
<div class="date">
<li id="time">2 Nov 2017</li>
<li id="place">Paris</li>
</div>
</div>
</div>
<div class="info">
<div class="band band4">
<p>Never Shout Never</p>
<show>Show dates</show>
</div>
<div class="alldates">
<div class="date">
<li id="time">30 Oct 2017</li>
<li id="place">London</li>
</div>
<div class="date">
<li id="time">2 Nov 2017</li>
<li id="place">Paris</li>
</div>
</div>
</div>
<div class="info">
<div class="band band5">
<p>Miley Cyrus</p>
<show>Show dates</show>
</div>
<div class="alldates">
<div class="date">
<li id="time">30 Oct 2017</li>
<li id="place">London</li>
</div>
<div class="date">
<li id="time">2 Nov 2017</li>
<li id="place">Paris</li>
</div>
</div>
</div>
</div>
我使用来自普通JavaScript文件的非常简单的AJAX请求调用此文件:
getData.js
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('5');
}).listen(process.env.PORT);
现在的testNode函数将返回硬编码的'5'变量。我想让它返回ajax请求的url中的'Person'字符串。
运行IIS服务器节点的人运行时告诉我Express已安装,但是当我添加
时function testNode(){
$.get("https://mywebsite.com/test.js?q=Person").done(function(data) {
$.when(data).then(function() {
console.log(data);
});
});
}
在第二行,应用程序中断,我收到500错误。
我几天只与节点合作,但这是我需要满足我需求的最后一块拼图。我错过了什么?
我尝试过req.query.q和req.params('q'),但都没有效果。
答案 0 :(得分:1)
在看到@jonasw的链接后,我得到了正确答案。
如果发送到节点js文件的参数标记为q,如?q = GetPerson那么这就是你需要的:
var http = require('http'),
fs = require('fs'),
url = require('url');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'application/json'});
var url_parts = url.parse(req.url, true);
var query = url_parts.query;
var q = query.q;
}).listen(process.env.PORT);
var q将包含GetPerson。