通过Ajax调用nodejs和API的新功能帮助我
//Node Function to be call via ajax
app.get('/Employee', function (req, res) {
var obj = {};
// res.sendFile(__dirname + "/" + "Employee.html");
var mysql = "Select * from employeelogin";
con.query(mysql, function (err, result) {
if (err) throw err;
console.log(result);//
obj = result;
});
//return Obj
res.render('/Employee', obj);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
function Get_Emp_record() {
$.ajax({
// url: '/Employee/GetDetails',
url:'http://127.0.0.1:8081/Employee',
data: {},
method: 'GET',
async: false,
crossDomain: true,
processData: true,
contentType: "application/json",
dataType: 'json',
jsonpCallback: 'callback',
success: function (data) {
alert(data)
},
error: function (jqXHR, textStatus, err) {
//show error message
alert('text status ' + textStatus + ', err ' + err)
}
});
}
提前谢谢
答案 0 :(得分:1)
要详细说明vibhor1997a的评论,
通过发出以下命令在项目中安装cors
软件包,
$ npm install cors
您可以像这样在您的应用程序中添加
var express = require('express')
您可以这样启用CORS
app.use(cors());
app.get('/Employee', cors(), function(req, res) {.....
希望这会有所帮助!
答案 1 :(得分:1)
对此的简单解决方案是使用“ cors”模块。
安装
npm install cors
用法:
var cors = require('cors')
app.use(cors());
这就是您要做的所有事情。
注意::某些HTTP请求可能已被预检,“预检”请求首先通过OPTIONS方法向另一个域上的资源发送HTTP请求,以确定实际请求是否安全发送。 要启用预检,您必须为要支持的路线添加新的OPTIONS处理程序:
app.options('/route', cors()) // for a particular route
要对所有航线启用飞行前检查,只需使用:
app.options('*',cors()) //for all routes(include before other routes)
有关预审请求的更多信息:https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Preflighted_requests