1. 程式人生 > >ajax跨域訪問-jsonp報錯:Uncaught SyntaxError: Unexpected token":"or"

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遍