Javascript 一旦我把这个变量放进去,执行ajax调用就会得到一个错误函数
出于某种原因,每当我把这个Javascript 一旦我把这个变量放进去,执行ajax调用就会得到一个错误函数,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,出于某种原因,每当我把这个“ntaReqRef”:ntaReqRef放进去时,我总是在ajax调用中得到错误函数,但是当我没有包含它时,我的ajax调用工作得很好,所以我一直在想它是非法的还是与我的代码有关,因为当我执行代码时,它在node.js中显示了正确的响应,但随后给出了一个错误函数 function create(){ var samId = $('#samIda').val(); var itemDescrip = $('#itemDescrip').val(); var issueQ
“ntaReqRef”:ntaReqRef
放进去时,我总是在ajax调用中得到错误函数,但是当我没有包含它时,我的ajax调用工作得很好,所以我一直在想它是非法的还是与我的代码有关,因为当我执行代码时,它在node.js中显示了正确的响应,但随后给出了一个错误函数
function create(){
var samId = $('#samIda').val();
var itemDescrip = $('#itemDescrip').val();
var issueQty =$('#issuedQty').val();
var openQty = $('#openingQty').val();
var closeQty = $('#closingQty').val();
var corrupQty = $('#corruptedQty').val();
var remarks = $('#Remarks').val();
var ntaReqRef = $('#ntaReqRefa').val();
var postData = {
"samId": samId , "itemDescrip": itemDescrip, "issueQty" :
issueQty,"openQty" : openQty, "closeQty" :closeQty,
"corrupQty": corrupQty, "remarks": remarks, "ntaReqRef":
ntaReqRef
};
var postJSON = JSON.stringify(postData);
$.ajax({
url: "http://localhost:3000/api/insertRecord", // server url
type: "POST", //POST or GET
contentType: "application/json", // data to send in ajax format or querystring format
data: postJSON,
dataType : "json", //dataType is you telling jQuery what kind of
response to expect
success: function(response) {
alert('success');
$("#Iresult").html("A record has been created. :D");
},
error: function(response) {
alert('error' + response);
}
});
}
关于有问题的变量的html代码
<div class="field-wrap">
<label>
NTA SAM Ref Number<span class="req">*</span>
</label>
<input type="NtaReqRef" id="ntaReqRefa" name= "ntaReqRef" required
autocomplete="off"/>
</div>
<input class="button" type="submit" id="insert" value="Create"
onclick="create()" />
</form>
<div id= "Iresult"></div>
NTA SAM参考号*
这是我的服务器端代码
var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017/myproject';
var insertDocument = function(db, req, callback) {
db.collection('documents').insertOne({
//'_id': Object.keys(obj).length,
'samID': req.body.samId,
'itemDescription': req.body.itemDescrip,
'issuedQTY': req.body.issueQty,
'openingQTY':req.body.openQty,
'closingQTY':req.body.closeQty,
'corruptedQTY':req.body.corrupQty,
'Remarks':req.body.remarks,
'ntaSamRequestRef': req.body.ntaReqRef
//'Created Date': "<b>" + day + "/" + month + "/" + year + "</b>"
}, function(err, results) {
//assert.equal(err, null);
if(err) return callback(err);
console.log("Inserted a document into the documents collection.");
console.log(results);
var cursor = db.collection('documents').find({
//'_id': Object.keys(obj).length,
'samID': req.body.samId
}).toArray(function(err, doc) {
if (err) {
return callback(err);
} else{
console.log('Successfully queried');
console.log(doc);
return callback(null, JSON.stringify(doc));
}
});
});
};
module.exports = {
postCollection : function(req,res){
var samId = req.body.samId;
var itemDescrip = req.body.itemDescrip;
var issueQty = req.body.issueQty;
//var indexNo = Object.keys(obj).length;
var openQty = req.body.openQty;
var closeQty = req.body.closeQty;
var corrupQty = req.body.corrupQty;
var remarks = req.body.remarks;
var ntaReqRef = req.body.ntaReqRef;
//var createdDate = "<b>" + day + "/" + month + "/" + year + "</b>"
MongoClient.connect(url, function(err, db) {
//assert.equal(null, err);
if(err) {
res.send(err);
res.end();
}
insertDocument(db, req, function(err,doc) {
if(err)
res.send(err);
else{
setTimeout(function(){
res.send(doc);
res.end();
},2000);
}
db.close();
});
});
}
}
var MongoClient=require('mongodb')。MongoClient;
var url='1〕mongodb://localhost:27017/myproject';
var insertDocument=函数(db,req,callback){
db.集合(“文档”).insertOne({
//“_id”:Object.keys(obj).length,
“samID”:req.body.samID,
“itemDescription”:req.body.itemDescription,
“issuedQTY”:请求正文。issueQty,
“打开数量”:req.body.openQty,
“closingQTY”:请求正文关闭数量,
“损坏数量”:req.body.corrupQty,
“备注”:请求正文备注,
“ntaSamRequestRef”:req.body.ntaReqRef
//“创建日期”:“+day+”/“+month+”/“+year+”“
},函数(错误,结果){
//assert.equal(err,null);
if(err)返回回调(err);
log(“将文档插入文档集合”);
控制台日志(结果);
var cursor=db.collection('documents')。查找({
//“_id”:Object.keys(obj).length,
“samID”:req.body.samID
}).toArray(函数(错误,文档){
如果(错误){
返回回调(err);
}否则{
console.log('已成功查询');
控制台日志(doc);
返回回调(null,JSON.stringify(doc));
}
});
});
};
module.exports={
收集后:功能(请求、恢复){
var samId=req.body.samId;
var itemsdescrip=req.body.itemsdescrip;
var issueQty=请求主体issueQty;
//var indexNo=Object.keys(obj.length);
var openQty=req.body.openQty;
var closeQty=req.body.closeQty;
var corrupQty=请求主体corrupQty;
var备注=要求正文备注;
var ntaReqRef=req.body.ntaReqRef;
//var createdDate=“+day+”/“+month+”/“+year+”“
连接(url,函数(err,db){
//assert.equal(null,err);
如果(错误){
res.send(err);
res.end();
}
插入文档(db、req、函数(err、doc){
如果(错误)
res.send(err);
否则{
setTimeout(函数(){
res.send(doc);
res.end();
},2000);
}
db.close();
});
});
}
}
感谢您的帮助。提前谢谢 我认为问题出在您的html输入字段中 尝试更改id为“NTARREFREA”的输入字段,如下所示
<input type="text" id="ntaReqRefa" name= "ntaReqRef" required
autocomplete="off"/>
您使用的是什么bodyParser?奇怪的是,发送字符串化JSON,而不是www url编码的数据,会用任何东西填充req.body
。@adeneo-bodyParser这是正常的吗?它仍然会产生同样的问题,将连字符放在里面有关系吗?