利用ajax与后端交互

使用jQuery进行ajax的引用,实现交互

ajax代码:

$.ajax({
        type: "post",//传输数据方式
        url: "/getAns",//后端提供接口
        dataType: "json",//返回数据类型
        contentType: "application/json",//传输数据的类型
        async: false, //同步请求,默认为true,异步请求
        cache: false,//获取数据途径为不读取缓存,true为读取缓存
        traditional: true,/*默认情况下traditional为false,即jquery会深度序列化参数对象,以适应如PHP和Ruby on Rails框架,但servelt api无法处理,我们可以通过设置traditional 为true阻止深度序列化然后序列化结果如下:
eg:
    records: ["123", "456", "789"]   
    /* =>    records=123&p=456&p=789
    随即,我们就可以在后台通过request.getParameterValues()来获取参数的值数组
    */
        data: JSON.stringify({
                choiceAnswers: objToArr(arr),
                essayAnswers: warr
            }),//向后端传输的数据函数
        success: function(data) {//data为前端获取到的数据,我们可以对其处理
            var textForm = $("#danxuan");
            textForm.html("");
            var str = '<h3>一、选择题</h3><span class="tishi">(本小题每题5分,总分30。)</span>';
            $.each(data['result'], function(index, obj) {
                str += '<div class="co">'
                str += '<h4 onselectstart="return false" id="' + obj['choiceQstId'] + '">' + '<strong>' + obj['choiceQstId'] + '</strong>' + ' ' + '.' + ' ' + obj['choiceQstExp'] + '</h4>'
                str += '<input type="radio" name="optQuestion' + index + '" id="A' + index + '" value="A"><label for="A' + index + '">A.' + obj['a'] + '</label></br>'
                str += '<input type="radio" name="optQuestion' + index + '" id="B' + index + '" value="B"><label for="B' + index + '">B.' + obj['b'] + '</label></br>'
                if (obj['c']) { str += '<input type="radio" name="optQuestion' + index + '" id="C' + index + '" value="C"><label for="C' + index + '">C.' + obj['c'] + '</label></br>' }
                if (obj['d']) { str += '<input type="radio" name="optQuestion' + index + '" id="D' + index + '" value="D"><label for="D' + index + '">D.' + obj['d'] + '</label></br>' }
                str += '</div>'
            })
            textForm.html(str);
            textForm.append();
        },//后端向前端传输数据成功时执行函数,一般此时状态码为200
        error: function() {
            alert("请求选择题失败");
        },//后端向前端传输数据失败时执行函数
    })

部分HTML代码

div id="danxuan">
                </div>

说明:JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。语法如下:
JSON.stringify(value, replacer, space)
参数说明:
value:
必需, 要转换的 JavaScript 值(通常为对象或数组)。

		replacer:
		可选。用于转换结果的函数或数组。
		
		如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回 				   undefined,则排除成员。根对象的键是一个空字符串:""。
		
		如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。
		
		space:
		可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于  10,则文本缩进 10 个空格。space 也可以使用非数字,如:\t。
		
		返回值:
		返回包含 JSON 文本的字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值