我是节点js的新手。我想通过节点js express来访问HTML页面中变量的值。
我在脚本标记中编写的HTML端代码是
[Theory, AutoNSubstituteData]
public void Add_ViewModelAsNull_ShouldThrowArgumentNullException(
AbstractValidator<AddMerchantViewModel> merchValidator,
MerchantsService service)
{
// Arrange
//here I don't know how to mock result of Validate. It is always null.
merchantValidator.Validate(Arg.Any<AddMerchantViewModel>(), ruleSet: Arg.Any<string>()).Return(new ValidationResult());
// Act
Action action = () => service.Add(null);
// Assert
action.ShouldThrow<ArgumentNullException>();
}
我用于js应用程序的软件包是
$.ajax({
url: '/modulename',
type: 'POST',
dataType: 'JSON',
data: JSON.stringify([
{module:"abc"}]),
success: onMemberSucces,
error: onMemberError
});
我的js应用程序上的代码是
"dependencies": {
"all": "0.0.0",
"body-parser": "^1.15.1",
"cookie-parser": "^1.4.2",
"d3": "^3.5.17",
"express": "^4.13.4",
"jquery": "^2.2.4",
"jsdom": "^9.2.1",
"mssql": "^3.3.0",
"node-sqlserver-unofficial": "1.4.0",
"require": "^2.4.20",
"requirejs": "^2.2.0"
}
控制台上的输出是
app.use(express.static('D:/d3 project/project_part1/project_part1/'));
app.use(bodyParser.json());
var server = app.listen(8081);
app.post('/modulename', function (req, res, body) {
modulename = req.body;
console.log("hi \n"+ modulename);
console.log("hi "+ modulename.module);
});
我试图打印
hi [object Object]
hi undefined
这也会在控制台上打印undefined。我正在做一个非常粗心的愚蠢的错误,但我无法弄明白并花了相当多的时间。请帮帮我。谢谢。
答案 0 :(得分:0)
此处不需要数组,您可以更改:
JSON.stringify([
{
module: "abc"
}
]),
要:
JSON.stringify({
module: "abc"
}),
答案 1 :(得分:0)
将数据更改为
data: {module:"abc"},
Jquery会照顾其余的, 在您的节点路由
console.log(req.body.module)