POST请求和服务器之间发生了错误

时间:2016-06-09 06:57:52

标签: javascript jquery rest

我在静态HTML页面中有这段代码:

$(".js-submitbutton").click(function(){
    var title = $("#title").val();
    var subtitle = $("#subtitle").val();
    var imageurl = $("#imageurl").val();
    var telephone = $("#telephone").val();
    var address = $("#address").val();
    var category = $("#category").val();
    var keywords = $("#keywords").val();
    var website = $("website").val();
    var listofkeywords = keywords.split(',');
    var data = {
      title: title,
      subtitle: subtitle,
      image_url: imageurl,
      telephone: telephone,
      address: address,
      category: category,
      keywordslist: listofkeywords,
      website: website
    };
    console.log(data);
    $.ajax({
      type: "POST",
      url: "https://kakaobot.herokuapp.com/api_v1",
      contentType: "application/json; charset=utf-8",
      data: data,
      dataType: "json",
      success: function(result){
        console.log(result);
      }
    })
 })

在服务器上,管理POST请求:

db.title = req.body.title;
db.subtitle = req.body.subtitle;
db.image_url = req.body.image_url;
db.telephone = req.body.telephone;
db.address = req.body.address;
db.category = req.body.category;
db.keywords = req.body.keywordslist;
db.save()

问题在于,当我在HTML页面按.js-submitbutton时,它会收集数据并向服务器发送正确的JSON,但在服务器日志中, keywordslist 显示为 keywordslist [ ] ,这使我无法将其保存到数据库中。 当然,我总是可以更改服务器代码以接受 keywordslist [] ,但除非没有其他选择,否则我不想这样做。 非常感谢您的帮助,SO社区,我真的很感激。

1 个答案:

答案 0 :(得分:1)

发表评论作为答案。

客户端的变更:

var listofkeywords = keywords.split(',');

为:

var listofkeywords = keywords;