[英]how can i send html form data to node.js server by making ajax call?
[英]Making ajax call to node server
我是NodeJS的新手,並嘗試使用npm spotcrime包通過ajax調用單擊按鈕時從用戶輸入位置獲取犯罪數據。 這是軟件包的npm文檔頁面上給出的軟件包的用法。
var spotcrime = require('spotcrime');
// somewhere near phoenix, az
var loc = {
lat: 33.39657,
lon: -112.03422
};
var radius = 0.01; // this is miles
spotcrime.getCrimes(loc, radius, function(err, crimes){
});
當單獨運行並返回正確的犯罪json數據時,它的工作原理非常好。 但是我不明白如何通過單擊按鈕的ajax調用來調用此方法。 任何見解都將真正有幫助。 提前致謝 :)
更新
這是我的服務器代碼
var express = require('express');
var app = express();
var dataFile = require('./data/data.json');
var reload = require('reload');
var path = require('path');
app.set('port', process.env.PORT || 3000);
app.set('appData', dataFile);
app.set('view engine', 'ejs');
app.set('views', __dirname + '/views');
app.use(express.static(path.join(__dirname, '/public')));
app.use(require('./routes/index'));
app.use(require('./routes/information'));
app.use(require('./routes/spotcrime'));
var server = app.listen(app.get('port'), function(){
console.log('Go to http://localhost:' + app.get('port')+ ' on your
browser');
});
reload(app);
這是spotcrime.js文件
var express = require('express');
var router = express.Router();
var spotcrime = require('spotcrime');
router.get('/spotcrime', function(request, response){
var loc = {
lat: 33.39657,
lon: -112.03422
};
var radius = 0.01; // this is miles
spotcrime.getCrimes(loc, radius, function(err, crimes){
response.send(crimes);
});
});
module.exports = router;
我已經嘗試了好一陣子,但沒有任何反應。 請提出任何建議
使用此代碼進行ajax調用
var http = require('http');
var request = require('request');
request.post({
url: "xxxxxxxxxxxx",
method: "POST",
json: true, // <--Very important!!!
body: {}
},
function(error, response, body) {
if (!error) {
console.log(body.d);
} else {
console.log(error);
}
}
);
如果我理解正確,則希望將AJAX請求從瀏覽器(前端)發送到服務器。 使用jQuery AJAX可以很容易地做到這一點,請參閱官方文檔頁面 。 這是給你的一個例子:
<buttom class="send-request">Send AJAX request</button>
$(".send-request").click(function() {
$.ajax({
method: "GET", // since you are waiting for GET request on server
url: "/spotcrime", // you might have to provide full path to your endpoint starting with https://127.0.0.1/spotcrime
data: { Greetings: "Hello" } // data object can be deleted since you don't expect any parameters on server side
})
.done(function( msg ) {
alert( "Response data: " + msg );
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.