2 qq 22153431 qq_22153431 于 2016.04.04 20:21 提问

springmvc jquery ajax 出现parser error

js代码:点击添加按钮后,会添加select,然后调用jQuery ajax后就会报错

 <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"></script>
<script type="text/javascript">
var count = 1;
function addFoodlist(intnumber){
    $.ajax({  
        url: "${pageContext.request.contextPath}/springmvc/getfoodlist.mvc",    //后台webservice里的方法名称  
        type: "post",  
        dataType: "json",  
        contentType: "application/json; charset=utf-8",  
        traditional: true,  
        success: function (data) {  
            var id = "select1" + (count-1);
            for (var i in data) {  
                var jsonObj =data[i];  
                var optionstring = "";  
                for (var j = 0; j < jsonObj.length; j++) {  
                    optionstring += "<option value=\"" + jsonObj[j].name + "\" >" + jsonObj[j].type + "</option>";  
                }  
                $("#id").html("<option value='请选择'>请选择...</option> "+optionstring); 

            }  
        },  
        error: function (status, errorThrown) {  
            alert("状态码:" + status.status);
            alert("错误原因:" + errorThrown); 
        }  
    });            
}

var HTML2 = '<select id="select2' + count + '">'
+'</select>';
var HTML1 = '<select id="select1' + count + '" onchange="setSecond(this)">'
+'</select>';
    function add() {  
          var tbl = document.all.ci;  
          var rows = tbl.rows.length;  
          var tr = tbl.insertRow(rows);  
          var name = tr.insertCell(0);  
          name.innerHTML = HTML1;  
          var tel = tr.insertCell(1);  
          tel.innerHTML = HTML2;  
          var rdo = tr.insertCell(2);  
          rdo.innerHTML = '<input type="radio" value="0" name="rdo' + count + '">Yes <input type="radio" value="1" name="rdo' + count + '">No';  
          var chk = tr.insertCell(3);  
          chk.innerHTML = '<input type="checkbox" value="0" name="chk' + count + '">Modify <input type="checkbox" value="1" name="chk' + count + '">Delete';  
          var del = tr.insertCell(4);  
          del.innerHTML = '<input type="button" onclick="del(this)" value="Delete">';
          addFoodlist(count);
          count++;  
        }  

        function del(btn) {  
          var tr = btn.parentElement.parentElement;  
          var tbl = tr.parentElement;  
          tbl.deleteRow(tr.rowIndex-1);  
        }  
        function setSecond(obj){  
            var val = obj.value;
            var val2 = obj.id;
            var val1 = obj.id.substring(7,9);
            if(val == 'en'){  
                var sec = document.getElementById('select2' + val1 + '');  
               // document.write(val1);
                sec.innerHTML = uHTML;  
            }else{  
                var sec = document.getElementById('select2' + val1 + '');  
               // document.write(val1);
                sec.innerHTML = mHTML;  
            }     
        } 
</script>

controller代码:

 @RequestMapping(value="/getfoodlist",method=RequestMethod.POST)
    public ModelAndView getfoodlist(){
        ModelAndView mav = new ModelAndView("/index");
        List<FoodlistPo> list = null;
        list = FoodlistDao.queryAll();
        JSON jsonArray = ListToJson.listToJson(list);
        mav.addObject("data",jsonArray);
        return mav;
    }

listToJson

import java.util.List;

import net.sf.json.JSONArray;

public class ListToJson {
    public static JSONArray listToJson(List list){

        JSONArray jsonArray = JSONArray.fromObject(list);
        System.out.println(jsonArray.toString());
        return jsonArray;
    }
}
打印出来的list的值:

[{"name":"叶类","type":"31"},{"name":"奶制品","type":"53"},{"name":"家畜","type":"51"},{"name":"家禽","type":"52"},{"name":"小吃","type":"71"},{"name":"干果","type":"42"},{"name":"干豆","type":"21"},{"name":"根茎","type":"33"},{"name":"水果","type":"41"}]

然后一直报parser error,但是这个json应该没有问题啊,一直报错,希望大神能够解决一下,初次发帖没有悬赏,请各位大神见谅!谢谢

3个回答

CSDNXIAON
CSDNXIAON   2016.04.04 20:32

jquery+ajax+springmvc
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

devmiao
devmiao   Ds   Rxr 2016.04.04 23:42
qq_22153431
qq_22153431 加了text还没没有用啊。。。
2 年多之前 回复
qq_22153431
qq_22153431   2016.04.06 15:05

为什么没人来啊,大家快来啊

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
解决$.ajax()请求异常~ jQuery提示parsererror错误解决办法
在前端通过ajax请求后台之后返回的时候,出现了下面的异常: error: function(req, textStatus, errorThrown){} req:  textStatus:"parsererror"; errorThrown:undefined. 而自己的ajax请求如下: type: 'POST', contentType: 'application/jso
jQuery:Ajax提示parsererror错误的解决办法
前几天同事写了一个ajax方法,后台一切正常,通过浏览器的F12工具查看XMLHttpRequest.status返回200,XMLHttpRequest.readyState返回4,也都没有问题。但是回调函数跳到error里,报parsererror的错误。经过排查,发现是因为后台返回时用了@ResponseBody注解(SpringMVC返回json格式的注解),但前台ajax提交没有定义da
解决$.ajax()请求异常 jQuery提示parsererror错误解决办法
-
jquery ajax调用springmvc status是200 回调返回error函数
转载请注意出处:http://www.51zdd.com/jquery_ajax_error.html 如下一段jquery代码,可以调用到springmvc的controller,返回的状态码是200,但是回调的却是error函数。 原因很简单,jquery调用时dataType: “json”,要求返回的是json格式的数据,后台controller返回的response也必须是jso
spring MVC 与 ajax 交互 json格式遇见的415、json解析错误
今天需要用jquery和spring MVC交互时出现了两个BUG,一个是http状态码415 数据格式错误,另外一个是spring接口接收json时出现解析错误异常。问题1(http状态码415)解决办法:使用 $.ajax 发送请求,指定contentType : 'application/json'即可。 错误原因是我使用了JQuery 的 $.post请求,这个里面并没有指定文本格式,
.Net+C#+Jquery实现Ajax的json应用。解决parsererror错误
1、打开vs2008新建一个WebApplication1并创建一个Handler1.ashx文件。using System; using System.Collections; using System.Data; using System.Linq; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Xml.Linq; namespace WebAp
ajax jsonp parsererror原因及解决方法(不是格式问题!)
I am using jQuery Version 1.5.1 to do the following ajax call: ? 1 2 3 4 5 6 7 $.ajax({     dataType: 'jsonp',     data: { api_key : apiKey },
springmvc-ajax-jquery 异步校验登录【亲测可用】
前言一直以来都是直接提交form跳转登录,但是存在一些问题就是当密码错误的时候,又得重新跳转回来。感觉不是很理想。故采用异步校验是比较稳妥的一种处理的方式。具体过程jsp页面的编写关键性代码如下 <form name="subinfo" class="form" method="post"> <div> <input type="text" required="" id="u
SpringMVC ajax传递json数组到后台报406错误的解决办法
ajax传数组参数到后台 报406错误,在@RequestMapping内加入produces="application/json;解决。(适用场景:批量删除等操作) 栗子: @RequestMapping(value="/deleteStudent",method=RequestMethod.POST,produces="application/json;charset=UTF-8")
ajax请求springmvc成功后仍然执行error模块
1.前台 $.ajax({ method:'post', data:jsonStr, url:'xxxxx/good', contentType: "application/json; charset=utf-8", dataType: "json",