我想如何将其包含在JSON中(这是一个示例):
"audio": "https://test.diglin.eu/media/audio/nl_NL/bal.mp3"
我的代码如下:
exObject['exerciseGetWordInput'] =
$(this).find('input.exerciseGetWordInput').val();
var audioId = MEDIAARRAY.audio.lowercase.indexOf(exObject['exerciseGetWordInput'].toLowerCase() + '.mp3');
var audio_link = '';
if (audioId > -1) {
exObject['audio'] = 'https://test.diglin.eu' + MEDIAARRAY.audio.path + MEDIAARRAY.audio.files[audioId];
}
上面的代码应该在我的函数中实现,但是我不知道如何将其准确传递给我的ajax调用。
这一切发生的功能:
function setMainObjectArray() {
var exercises = [];
var eBlocks = $('.eBlock');
eBlocks.each(function(i, eBlock) {
var exObject = {
word: $(eBlock).find('input.ExerciseGetWordInput').val(),
syllables: [],
};
exObject['exerciseGetWordInput'] = $(this).find('input.exerciseGetWordInput').val();
var audioId = MEDIAARRAY.audio.lowercase.indexOf(exObject['exerciseGetWordInput'].toLowerCase() + '.mp3');
var audio_link = '';
if (audioId > -1) {
exObject['audio'] = 'https://test.diglin.eu' + MEDIAARRAY.audio.path + MEDIAARRAY.audio.files[audioId];
}
$(eBlock).find('input.syllable').each(function(j, syll) {
exObject.syllables.push($(syll).val());
});
exercises.push(exObject);
});
return exercises;
}
我的ajax电话:
function saveExerciseAjaxCall() {
console.log(setMainObjectArray());
$.ajax({
url: 'saveJson.php',
type: 'POST',
data: {
id: getUrlParameter('id'),
getExerciseTitle: $('#getExerciseTitle').val(),
language: $('#languageSelector').val(),
application: 'lettergrepen',
'main_object': {
title: $('#getExerciseTitle').val(),
language: $('#languageSelector').val(),
exercises: setMainObjectArray()
},
dataType: 'json'
}
}).done(function(response) {
}).fail(function(jqXHR, textStatus, errorThrown){
console.log(jqXHR);
console.log(errorThrown);
console.log(textStatus);
});
}
您很可能想知道为什么我不尝试一下看看会发生什么(或者您可以使用以下参数:为什么不使用JSON验证程序对其进行测试呢?这是因为我以前做过这样的事情并且我的应用程序完全崩溃了,但是JSON验证程序却给了我“有效的JSON”)。
编辑:这样您就可以看到完整的JSON,它应该看起来像这样:
{
"exercisetitle": "dedew",
"application": "",
"language": "nl_NL",
"id": "new",
"main_object": {
"title": "dedew",
"exercises": [
{
"word": "aap",
"audio": "https://test.diglin.eu/media/audio/nl_NL/aap.mp3"
}
]
}
}