句子(带空格的单词)为JSON

问题描述 投票:0回答:1

我目前正在建立一个网站,您可以在其中添加食谱。为此,用户必须添加成分和某种描述。这些食材会写成“奶酪,火腿等”。它们将被保存,用户可以通过订阅将此配方推送到他的帐户中,并且所有内容都已正确保存。描述将写成“将火腿放入烤箱,切碎奶酪等”。并将其作为数组正确保存到配方中。但是,当我想订阅食谱时,没有任何作用,我很确定,这是单词之间的空格。

我的代码看起来像这样:

$(document).ready(function(){
        $('.button_subscribe').click(function(e) {
            e.preventDefault();

            RecipeID = $(this).val().split(" ")[0];
            userData = {};
            userData.userID = "<%= user._id %>";
            userData.busername = "<%= user.username %>";
            var x = $(this).val().split(" ");
            var recipeData = {};
            recipeData.recipeID = x[0];
            recipeData.title= x[1];
            recipeData.ingredients= x[2];
            recipeData.description= x[4];
            recipeData.theme = x[5];
            recipeData.difficulty= x[6];


            //Abonnement zur Übersicht hinzufügen
            $.ajax({
                url: '/subscriptions',
                type: 'post',
                contentType: 'application/json',
                data: JSON.stringify(rezeptData),
                success: function (rezeptData) {
                    console.log('success');
                },
                error: function (e) {
                    console.log('error');
                }
            });
        })});

我不知道,为什么这不起作用。成分保存正确,字符串可以包含空格,对吗?空间也是一个字符串。我希望,有人能够帮助我。

javascript arrays json
1个回答
2
投票

当你使用split(" ")时,它会将字符串分成每个空格字符的数组。这将阻止您有任何句子。我会推荐多个字段。如果那不是你想要使用的东西,那么你需要定义另一个分隔字符,你的句子将被砍掉。如果你想检查一下,你可以打印出阵列x的长度,你会发现它比你目前期望的要长得多。

© www.soinside.com 2019 - 2024. All rights reserved.