您的位置:首页 > Web前端 > JavaScript

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

2015-08-01 18:14 681 查看
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遍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: