gpt4 book ai didi

javascript - Node js 将 JSON 发送到 jquery 我不明白为什么它不能

转载 作者:太空宇宙 更新时间:2023-11-04 01:43:27 25 4
gpt4 key购买 nike

Server site:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(express.json());
app.use(bodyParser.urlencoded({ extended: false }));

app.get('/testJson', function (req, res) {
res.sendFile("/my_project/testJson"+ "/" + "testJson.html" );
})

app.post('/myaction', async function(req, res) {
var st = req.body.status;

res.status(200);
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify({ status: st }));
});
app.listen(8081, function() {
console.log('Server running at http://127.0.0.1:8081/');
});

Client site
$.fn.ajaxShow = function(st) {
xhrct = $.ajax({
type: 'POST',
dataType: "json",
data : { status : st },
url: 'http://127.0.0.1:8081/myaction',
success: function (data) {
if(data!=null) {
var fotoData = $.parseJSON(data);
$(fotoData).each(function (i, obx) {
alert(obx.status);
});
}
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
alert("XMLHttpRequest:
"+XMLHttpRequest.responseText);
alert("textStatus: "+textStatus);
alert("errorThrown: "+errorThrown);
}
});
}

我想将 JSON 数据从 node js 发送到 jquery 但出现一些错误。它警告 XMLHttpRequest.responseText is null , textStatus is 'error' 和 errorThrown is null。在服务器上,我尝试 res.setHeader('Content-Type', 'application/json')res.send(JSON.stringify({ status: st })) 但它不起作用。我做错了什么?

希望有人能帮助我。

最佳答案

尝试以下代码

服务器端

var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(express.json());
app.use(bodyParser.urlencoded({ extended: false }));

app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});

app.post('/myaction', async function(req, res) {
var st = req.body.status;
res.status(200);
res.setHeader('Content-Type', 'application/json');
res.send({ status: st });
});

app.listen(8081, function() {
console.log('Server running at http://127.0.0.1:8081/');
});

客户端

    function test(st){
var reqData = {status:st};
$.post("http://localhost:8081/myaction",reqData,function( data ) {
console.log(data);
alert(data.status);
})
}

关于javascript - Node js 将 JSON 发送到 jquery 我不明白为什么它不能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52268158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com