gpt4 book ai didi

javascript - 在node.js中使用外部json到jade

转载 作者:行者123 更新时间:2023-12-03 11:20:57 24 4
gpt4 key购买 nike

如何将 Json 对象从 XMLHttpRequest 传递到我的 jade 文件?仅显示一个空白页面,并且服务器正在为 get 方法发送 500 内部错误。

var express = require('express');
var router = express.Router();
var XMLHttpRequest = require("XMLHttpRequest").XMLHttpRequest;

/* GET home page. */
router.get('/:id', function (req, res) {
var id = req.params.id;
getJSON('/pros/' + id, function (data) {
res.render('consultProfessionnal', { prof:JSON.stringify(data)});
}, function (status) {
alert('Something went wrong.');
});
});

module.exports = router;

var getJSON = function (url, successHandler, errorHandler) {
xhr = new XMLHttpRequest();
xhr.open('get', url, true);
xhr.responseType = 'json';
xhr.onreadystatechange = function () {
var status = xhr.status;
if (request.readyState === 4 && status === 200) {
successHandler && successHandler(xhr.response);
} else {
errorHandler && errorHandler(status);
}
};
xhr.send();
};

这是我发送 json 对象的 jade 文件:

extends layout
block content

.container()
#viewItem
if prof.sexe==1
a
img.img-responsive(src='https://cdn2.iconfinder.com/data/icons/ios-7-icons/50/user_male2-128.png', alt='', style='padding-left:60px;')
else if prof.sexe==0
a
img.img-responsive(src='https://cdn0.iconfinder.com/data/icons/futurama/128/Brainslug.png', alt='', style='padding-left:60px;')
else
a
img.img-responsive(src='https://cdn2.iconfinder.com/data/icons/ios-7-icons/50/user_female2-128.png', alt='', style='padding-left:60px;')

h2= prof.prenom + ' ' + prof.nom
h4.space= 'Speciality : ' + prof.specialite

if prof.sexe==1
h4= 'Sexe : Male'
else if prof.sexe==0
h4= 'Sexe : Other'
else
h4= 'Sexe : Female'
h4= 'Total visit : ' + prof.nbreTotal
h4= 'Total patient : ' + prof.nbrePatient

hr
h3 2014 Patient(s)
hr
each visite in prof.patient2014
li= visite.prenom + ' ' + visite.nom

button(
type='submit'
style='width: 25px; height: 25px; background-color: black;'
id=prof._id
onclick="alerted()"
)

script(src='/stylesheets/js/jquery.js')
script(src="../javascripts/script.js")
script(src='/stylesheets/js/bootstrap.min.js')

最佳答案

问题在这里:getJSON('/pros/' + id,

在浏览器中,相对 URL 将解析为 {protocol}://{domain).{tld}{port?}{relative url}协议(protocol)、域名、顶级域名和端口基于页面。

但是服务器上没有页面,因此您需要手动解析 url。

因此,要解决此问题,您可以将其更改为 getJSON('http://' + req.headers.host + '/pros/' + id, ,它应该可以工作。(或任何您想要解析主机的其他方式)

关于javascript - 在node.js中使用外部json到jade,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27114454/

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