前台数据传输

8185387-e086e81a20f93107.png
网络选图

数据提交

同步提交

方式一:

<body>
    <form action="form_action.asp" method="get">
        <p>
            用户名: <input type="text" name="fname" />
        </p>
        <p>
            密码: <input type="text" name="lname" />
        </p>
        <input type="submit" value="Submit" />
    </form>
</body>

方式二:

<body>
    <form action="login" method="get" id="myForm">
        <p>
            用户名: <input type="text" name="fname" />
        </p>
        <p>
            密码: <input type="text" name="lname" />
        </p>
        <input type="button" value="Submit Form" />
    </form>
</body>
<script type="text/javascript">
    $(document).ready(function() {
        $('input:button').click(function() {
            $('#myForm').submit();
        });
    });
</script>

方式三:

<div>
    <a href="javascript:doSubmit();">提交方式四</a>
</div>
function doDetails(index) {
    var orderListData = $ {
        orderInfo
    };
    var thisRow = JSON.stringify(orderListData[index]);
    var form = $("<form method='post'></form>");
    form.attr({
        "action": "${base}/member/order/orderDetails.jhtml"
    });
    // 代码规范:单引号和双引号的使用
    var input1 = $('<input />').attr('type', 'hidden').attr('name', 'orderI').val(thisRow);
    var input2 = $('<input />').attr('type', 'hidden').attr('name', 'token').val(getCookie("token"));
    form.append(input1);
    form.append(input2);
    $(document.body).append(form);
    form.submit();
}

方式四:

<body>
    <form action="login" method="get" id="myForm">
        <p>
            用户名: <input type="text" name="fname" />
        </p>
        <p>
            密码: <input type="text" name="lname" />
        </p>
        <input id="sub" type="button" value="提交" />
    </form>
</body>
<script type="text/javascript">
    $("#sub").click(function() {
        var form = new FormData(document.getElementById("myForm"));
        alert(form);
        $.ajax({
            url: "login",
            type: "POST",
            processData: false,
            contentType: false,
            data: form,
            dataType: "JSON",
            success: function(result) {
                alert(result.user);
            }
        });
    });
</script>
异步提交

方式一:

$('#sub').click(function() {
    $.ajax({
        url: "#",
        type: "POST",
        data: {},
        dataType: "JSON",
        success: function(result) {
            alert(result.user);
        }
    });
});

方式二:

$('#sub').click(function() {
    $.post('/addUsers', $('#hello').serialize(),
    function(data) {
        console.info(data);
    },'json');
});
异步和&同步比较
  1. form是同步提交,而ajax是异步提交。
  2. ajax只是会请求到数据不会进行页面的跳转,而form会页面的跳转。

数据请求

JSON的字符串解析成JSON数据
// 定义一个一个对象
var data={name:'goatling'}
// 解析成JSON字符串
JSON.stringify(data)

数据回显

// 定义一个字符串
var data='{"name":"goatling"}'
// 解析对象​
​JSON.parse(data)
结果是:
​name:"goatling"

特别提醒:数据的转换需要根据请求的接口转换,如果请求的接口中带@RequestBody注解,需要传输的是JSON字符串,此时需要使用JSON.stringify(data);进行数据的转换,如果请求的接口中不带@RequestBody注解,此时可以直接传输数据的对象。

JavaScript解析时间日期回显问题
时间格式处理方式一
function func(fmt) {
    var year = 1900 + fmt.year;
    var month = (fmt.month + 1) < 10 == 1 ? "0" + (fmt.month + 1) : (fmt.month + 1);
    var day = fmt.date < 10 ? "0" + fmt.date : fmt.date;
    var hours = fmt.hours < 10 ? "0" + fmt.hours : fmt.hours;
    var minutes = fmt.minutes < 10 ? "0" + fmt.minutes : fmt.minutes;
    var seconds = fmt.seconds < 10 ? "0" + fmt.seconds : fmt.seconds;
    return year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
}
var aa = 
eval("("+ "{\"date\":18,\"hours\":14,\"seconds\":9,\"month\":9,\"nanos\":0,\"timezoneOffset\":-480,\"year\":117,\"minutes\":50,\"time\":1508309409000,\"day\":3}" + ")");
    alert(func(aa));
</script>
时间格式处理方式二
var d = new Date('Thu May 12 2016 08:00:00 GMT+0800 (中国标准时间)');  
youWant=d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();  
//yyyy-MM-dd hh:mm:ss  
请求成功后的处理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值