尝试在JSON中创建URL,但不确定这是否正确

时间:2018-07-03 07:34:37

标签: javascript jquery json

我想如何将其包含在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"
  }
]
 }
}

0 个答案:

没有答案