ajax跨域访问-jsonp报错:Uncaught SyntaxError: Unexpected token":"or"

ajax请求:

 $.ajax({  
        url: "http://10.0.14.186:8080/user/userAction_addUser",  
        type: "post",  
        dataType: 'jsonp',  
        jsonp: 'callback',  
        jsonpClaaback: "success_jsonpCallback",//用户定义的callback函数,没有定义的话会jQuery会自动生成以jQuery开头的函数  
        data: data,  
        error: function (XMLHttpReuqest, textStautus, errothrown) {  
            console.log(XMLHttpRequest.status);   
        },  
        success: function (json) {
            alert(json);
        }  
    }); 

struts配置:

<package name="user" extends="json-default" namespace="/user">
    <action name="userAction_*" class="userAction" method="{1}" >
	<result type="json"/>
    </action>
</package>

action addUser方法:

      public String addUser() {
		try {
			String callback = (String)ServletActionContext.getRequest().getParameter("callback");  
		        String retStr = callback + "({\"name\":\"beidao\",\"age\":25});";  
		        HttpServletResponse  reponse = ServletActionContext.getResponse();
		        reponse.getWriter().print(retStr);
		    
		} catch (Exception e) {
			e.printStackTrace();
		}
		return SUCCESS;
	}
注意: retStr的格式“callback(json串);”

             不要漏了“;”、“;”、“;”,重要的事情要说3遍

展开阅读全文

没有更多推荐了,返回首页