如何将变量值分配给ajax块中的xml字段

时间:2019-04-30 06:21:32

标签: javascript ajax xml

我是ajax的新手。 ,我在ajax查询中添加XML数据字段时遇到问题。

$.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文件名= $(“#file_selector_upload”)。val(); //文件名取决于上传的文件名。

现在,该文件名字段需要添加上述数据字段。如何添加呢?

1 个答案:

答案 0 :(得分:0)

我将数据发送为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-String?

$.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
    }
});