ajax跨域訪問-jsonp報錯:Uncaught SyntaxError: Unexpected token":"or"
阿新 • • 發佈:2019-02-05
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方法:
注意: retStr的格式“callback(json串);”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; }
不要漏了“;”、“;”、“;”,重要的事情要說3遍。