Как назначить значение переменной для поля xml в блоке ajax - PullRequest
0 голосов
/ 30 апреля 2019

Я новичок в AJAX.У меня проблема с добавлением поля данных XML в запрос ajax.

$.ajax({

            type: "POST",

            url: "communication.cgi",

            async: true,
            cache: false,

            data: "<Message MainPageID=\"0\" pageID=\"1\" WebpageName=\"page1\" Action=\"upload\" />",

            datatype: "text",

            error: function(jqXHR, textStatus, errorThrown) 
            {   
                //TODO
            },

            success: function(data) 
            {
                //TODO
            }
        });

Из приведенного выше поля данных мне нужно добавить имя файла в качестве еще одного нового поля.Имя файла хранится в такой переменной, как

var filename = $ ("# file_selector_upload"). Val (); // имя файла зависит от имени загруженного файла.

Теперь, это поле имени файла нужно добавить с вышеупомянутым полем данных.как можно это добавить?

1 Ответ

0 голосов
/ 30 апреля 2019

Я бы отправил данные в виде объекта JSON вместо XML следующим образом:

$.ajax({

    type: "POST",

    url: "communication.cgi",

    async: true,
    cache: false,

    data: 
    {
        'Message':
        {
            'MainPageID': 0,
            'pageID': 1,
            'WebpageName': 'page1',
            'Action': 'upload',
            'filename': $("#file_selector_upload").val()
        }
    },

    datatype: "JSON",

    error: function(jqXHR, textStatus, errorThrown) 
    {   
        //TODO
    },

    success: function(data) 
    {
        //TODO
    }
});

Но если вы хотите отправить его как XML, почему бы просто не манипулировать XML-строкой?

$.ajax({

    type: "POST",

    url: "communication.cgi",

    async: true,
    cache: false,

    data: '<Message filename="'+$("#file_selector_upload").val()+'" MainPageID="0" pageID="1" WebpageName="page1" Action="upload" />',

    datatype: "text",

    error: function(jqXHR, textStatus, errorThrown) 
    {   
        //TODO
    },

    success: function(data) 
    {
        //TODO
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...