Ajax脚本接收用户字符串输入文本和JSON格式的发布

时间:2016-01-28 20:19:32

标签: javascript jquery json ajax

我有一个函数ipcfg_set,它将设置IP地址,它接受用户输入变量并以JSON格式将其发送回函数。在构建获取用户输入的IP,掩码,网关的脚本以及单击按钮时会出现问题,将以JSON格式发回值。

function ipcfg_set () 
               {
                $.ajax({
               type: 'POST',
               url: 'ipcfg_set.cgi',
               dataType : "json",
               data: { ipv4_addr: $('#ip1').val() + '.' + $('#ip2').val() + '.' + $('#ip3').val() + '.' + $('#ip4').val(),
                    gw_addr: $('#gw1').val() + '.' + $('#gw2').val() + '.' + $('#gw3').val() + '.' + $('#ip4').val(), 
                    ipv4_mask: $('#nm1').val() + '.' + $('#nm2').val() + '.' + $('#nm3').val() + '.' + $('#nm4').val()      
                    }
            success: function(data) {

        });
    }


    $(function() {
        $('#btnreset').on('click', ipcfg_get);
        $('#btnapply').on('click', ipcfg_set);
        ipcfg_get();
    });

HTML代码

 <section>

        <h2>IP Configuration</h2>
        <p>Please fill in the form and press <b>Apply</b> to save settings.</p>
        <p>Press <b>Reset</b> to revert settings.</p>
        <section>

        <table class="formgrid">
        <tr><th>IP Address:</th><td><input type="text" name="a1" id="ip1" size="3" value="0">.
                <input type="text" name="a2" size="3" id="ip2" value="0">.
                <input type="text" name="a3" size="3" id="ip3" value="0">.
                <input type="text" name="a4" size="3" id="ip4" value="0"></td></tr>



                <tr><th>Network mask:</th><td><input type="text" name="m1" id="nm1" size="3" value="0">.
                <input type="text" name="m2" size="3" id="nm2" value="0">.
                <input type="text" name="m3" size="3" id="nm3" value="0">.
                <input type="text" name="m4" size="3" id="nm4" value="0"></td></tr>

            <tr><th>Gateway:</th><td><input type="text" name="g1" id="gw1" size="3" value="0">.
                <input type="text" name="g2"  size="3" id="gw2" value="0">.
                <input type="text" name="g3" size="3" id="gw3" value="0">.
                <input type="text" name="g4" size="3" id="gw4" value="0"></td></tr>
        </table>
        </section>
        <section>
        <input id="btnreset" type="button" class="button" value="Reset" />
        <input id="btnapply" type="button" class="button" value="Apply..." />
        </section>

1 个答案:

答案 0 :(得分:3)

您可以使用这样的函数从输入中获取值,只是为了减少输入。每个IP地址有四个输入,该函数将值组合成单个字符串:

function formatIP(id) { 
    return $(id+'1').val() + '.' + $(id+'2').val() + '.' + 
           $(id+'3').val() + '.' + $(id+'4').val() 
}

data参数应该是这样的javascript对象:

data: { 
   ipv4_addr: formatIP('#ip'),
   gw_addr:   formatIP('#nm'),
   ipv4_mask: formatIP('#gw')
}