我目前正在建立一个网站,您可以在其中添加食谱。为此,用户必须添加成分和某种描述。这些食材会写成“奶酪,火腿等”。它们将被保存,用户可以通过订阅将此配方推送到他的帐户中,并且所有内容都已正确保存。描述将写成“将火腿放入烤箱,切碎奶酪等”。并将其作为数组正确保存到配方中。但是,当我想订阅食谱时,没有任何作用,我很确定,这是单词之间的空格。
我的代码看起来像这样:
$(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');
}
});
})});
我不知道,为什么这不起作用。成分保存正确,字符串可以包含空格,对吗?空间也是一个字符串。我希望,有人能够帮助我。
当你使用split(" ")
时,它会将字符串分成每个空格字符的数组。这将阻止您有任何句子。我会推荐多个字段。如果那不是你想要使用的东西,那么你需要定义另一个分隔字符,你的句子将被砍掉。如果你想检查一下,你可以打印出阵列x
的长度,你会发现它比你目前期望的要长得多。