文档章节

Jquery跨域调用(JSONP)遇到error问题的解决

Eric_HSBC
 Eric_HSBC
发布于 2013/10/23 14:45
字数 220
阅读 10054
收藏 12

之前Jquery的跨域调用一直没有解决,不知道为什么老是执行error里的语句,今天花了点时间研究了一下,终于把问题解决了。

关键的地方是返回的字符串,返回的字符串必须包含jsonp的回调函数名称,而且要为json数据。

javascript代码

$.ajax({
    url: http, //请求的url
    dataType : "jsonp", 
    //传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback) 
    jsonp: "callback",
    //自定义的jsonp回调函数名称"jsonpCallback",返回的json也必须有这个函数名称
    jsonpCallback:"jsonpCallback",
    success : function(json){ 
              if(json.flag=="successfully") 
              { console.log("request successfully");}                          
                           },
    error: function(xhr,status,error)
             { console.log(xhr); }
    });

java代码

return "jsonpCallback"+"({\"flag\":\"successfuly\"})";//返回必须是json字符串

浏览器返回的结果如下

jsonpCallback({"flag":"successfuly"})

© 著作权归作者所有

共有 人打赏支持
Eric_HSBC

Eric_HSBC

粉丝 10
博文 22
码字总数 6822
作品 0
广州
技术主管
加载中

评论(1)

maser
maser
我觉得合理的方式是,你在服务器开放跨域权限,而不是破坏json协议,
服务器返回加上
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
看小白如何解决ajax跨域问题

由于此前很少写前端的代码(哈哈,不合格的程序员啊),最近项目中用到json作为系统间交互的手段,自然就伴随着众多ajax请求,随之而来的就是要解决ajax的跨域问题。本篇将讲述一个小白从遇到跨...

六只
2012/06/29
0
3
JQuery的Ajax跨域请求的解决方案

今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发现JQuery对于...

Carl_
2014/07/15
0
0
JQuery的Ajax跨域请求的解决方案

今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发现JQuery对于...

jz116
2012/04/10
0
3
jQuery - Ajax解决跨域问题

Ajax的应用中,由于安全的问题,浏览器默认是不支持跨域调用的。传统解决的方法,包括:(参考http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/) Local proxy: Needs inf...

方旭
2011/09/26
0
3
用jQuery与JSONP轻松解决跨域访问的问题

跨域的安全限制都是指浏览器端来说的.服务器端是不存在跨域安全限制的,所以通过本机服务器端通过类似httpclient方式完成“跨域访问”的工作,然后在浏览器端用AJAX获取本机服务器端“跨域访问...

烽穹寒渊
2015/07/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

简易审计系统

1、有时候我们需要对线上用户的操作进行记录,可以进行追踪,出现问题追究责任,但是linux自带的history并不会实时的记录(仅仅在内存中,当用户正常退出(exit logout )时才会记录到history文件里...

芬野de博客
17分钟前
1
0
Qt那些事0.0.6

QML中使用Image,在设置source的后,通过Qt Quick2 Preview(qmlscene)遇到了图片找不到的问题: Image { id: success_img anchors.centerIn: parent ...

Ev4n
18分钟前
1
0
白话SpringCloud | 第十一章:路由网关(Zuul):利用swagger2聚合API文档

前言 通过之前的两篇文章,可以简单的搭建一个路由网关了。而我们知道,现在都奉行前后端分离开发,前后端开发的沟通成本就增加了,所以一般上我们都是通过swagger进行api文档生成的。现在由...

oKong
23分钟前
2
0
javah 生成jni文件的问题

命令:(on macbook for android) javah -d src/main/jni -jni -classpath /Users/Carlyle_Pro/Documents/android_adt/sdk/platforms/android-25/android.jar:build/intermediates/classes/......

Carlyle_Lee
26分钟前
1
0
Ubuntu 安装ssh服务以及开启root用户ssh登录

一、安装ssh服务 安装ssh服务 sudo apt-get update sudo apt-get install openssh-server 安装完成后启动ssh服务 sudo service ssh start 二、开启root用户ssh登录 解决root远程ssh不能登录,...

15834278076
46分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部