【问题标题】:How to assign variable value to a xml field within ajax block如何将变量值分配给ajax块中的xml字段
【发布时间】:2019-04-30 06:21:32
【问题描述】:

我是 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(); // 文件名取决于上传的文件名。

现在,这个文件名字段需要与上述数据字段一起添加。怎么加呢?

【问题讨论】:

    标签: javascript ajax xml


    【解决方案1】:

    我会将数据作为 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
        }
    });
    

    【讨论】:

    • 这一行显示语法错误。 data: '',必须采用下面提到的格式 data: ""跨度>
    • 每次创建此 ajax 请求时都会“更新”。
    • 欢迎您。请将此问题标记为已解决:)
    猜你喜欢
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    相关资源
    最近更新 更多