`
rails2010
  • 浏览: 30450 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

使用getJSON或getScript实现跨域回调的一些问题记录

阅读更多

使用如下方式使用回调会比较正常:

function cbtest(data){
    alert('ok');
}
$.getScript("http://other_domain.com/test.jsp?callback=cbtest");

 但如果需要对一些传入参数做处理,则必须使用下面的写法:

 

$.getScript("http://other_domain.com/test.jsp",{id:1,desc:ok},function(data){
    alert('ok');
    alert(id);
}); 

 

此时,如果是跨域操作,会发现,服务端已经收到请求并给出响应,但是客户端却没有任何反应,有时还会报invalid label的错误,加上callback=?,修改后代码如下:

$.getScript("http://other_domain.com/test.jsp?callback=?",{id:1,desc:ok},function(data){
    alert('ok');
    alert(id);
}); 

 问题得以解决,要记得在服务端增加的callback参数的处理

分享到:
评论
1 楼 bu_choreography 2011-12-25  
服务端增加的callback参数的处理什么意思,如果跨域跨到其他人的站点上去了就没法处理了

相关推荐

    jQuery跨域问题

    总的来说,jQuery提供了丰富的工具来处理跨域问题,无论是简单的GET请求还是复杂的文件上传,只要合理利用JSONP、CORS、IFrame等机制,都可以在保证安全性的同时实现跨域通信。在实际开发中,根据项目需求和服务器...

    jQuery使用JSONP实现跨域获取数据的三种方法详解

    使用jQuery提供的接口,开发者可以很容易地实现JSONP跨域请求,具体方法包括$.ajax()、$.getJSON()和$.getScript()等。在实际使用过程中,需要注意回调函数名的正确传递和处理,以及确保服务器端正确响应JSONP请求。...

    使用jquery的jsonp如何发起跨域请求及其原理详解

    2. **发起请求**:使用jQuery的`$.ajax`或`$.getScript`,但为了实现JSONP,我们需要自定义`dataType`为`'jsonp'`,并且指定`callback`参数,这个参数的值就是我们定义的回调函数名,如`callback=showData`。...

    JS跨域交互(jQuery+php)之jsonp使用心得

    然后使用jQuery的`getScript`或`getJSON`方法向服务器发起请求,请求中包含回调函数名: ```javascript $.getScript('http://example.com/data.php?callback=fncallback'); ``` 服务器端接收到请求后,会返回如下...

    利用jsonp跨域调用百度js实现搜索框智能提示

    在jQuery中,可以使用`$.ajax`或`$.getScript`方法来实现JSONP。 标题提到的"利用jsonp跨域调用百度js实现搜索框智能提示",即利用JSONP技术调用百度提供的API,实现在搜索框中输入关键字时,显示智能提示的功能,...

    基于Jquery的跨域传输数据(JSONP)

    在jQuery中,我们可以使用$.getJSON()方法或者$.getScript()方法来实现JSONP数据传输。例如,使用$.getJSON()方法请求跨域资源的示例代码如下: ```javascript $.getJSON('***', function(json){ alert(json); });...

    jquery动态获取数据

    通过这个方法,开发者可以定制请求的各个方面,如URL、请求类型(GET或POST)、数据类型(JSON、XML、HTML等)以及成功或失败的回调函数。例如,以下代码展示了如何使用`$.ajax()`获取JSON数据: ```javascript $....

    Jquery 的Ajax 用法

    在进行 AJAX 请求时,JQuery 会自动处理一些常见的问题,如数据序列化、错误处理和跨域请求。例如,当涉及到跨域请求时,JQuery 会利用 `<script>` 标签的特性,以 JSONP(JSON with Padding)的方式实现跨域数据...

    JSON和JSONP(含jQuery实例)

    在jQuery中,我们可以方便地使用`$.ajax`或`$.getScript`方法实现JSONP。例如: ```javascript $.ajax({ url: 'http://example.com/data', dataType: 'jsonp', jsonp: 'callback', // 自定义回调函数名 success...

    常用jquery ajax与后台交互

    7. **其他辅助方法**:jQuery还提供了`.load()`、`.getJSON()`、`.getScript()`等辅助方法,简化特定类型的AJAX请求。 8. **性能优化**:例如使用缓存、设置超时、控制并发请求等,以提高用户体验。 9. **安全考虑...

    经典的jQuery Ajax 资料

    通过回调函数或Promise对象,我们可以确保在数据加载完成后执行特定操作。 ### 8. 错误处理 `$.ajax()`的`error`回调函数和Promise的`.catch()`方法用于处理请求失败的情况,如网络错误、服务器返回错误状态码等。...

    jQuery_Ajax全解析.doc

    8. **短路方法**:除了上述方法,jQuery还提供了一些简化的版本,如`.getScript()`用于加载并执行JavaScript脚本,`.getJSON()`用于获取JSON数据。 9. **异步和同步**:默认情况下,所有的jQuery AJAX请求都是异步...

    jQuery1.5之后的ajax共7页.pdf.zip

    它接受一个配置对象作为参数,允许我们定制请求的各个方面,如URL、类型(GET或POST)、数据、回调函数等。例如: ```javascript $.ajax({ url: 'http://example.com/api/data', type: 'GET', data: {key: '...

    JQuery的Ajax跨域请求原理概述及实例

    在服务器端,你需要根据客户端传递的回调函数名,将JSON数据包裹在对应的函数中。以ASP.NET为例,服务端返回数据的示例代码如下: ```csharp public void ProcessRequest(HttpContext context) { context.Response...

    ajax访问wcf服务

    - **$.getJSON()** 和 **$.getScript()**:简化版本的Ajax调用,分别用于获取JSON数据和加载JavaScript文件。 5. **数据交换格式** - **JSON**:在Ajax和WCF中,JSON是首选的数据交换格式,因为它可以轻松地在...

    ajax调用服务

    此外,对于JSONP(JSON with Padding)跨域请求,可以利用jQuery的`$.getJSON()`或`$.getScript()`方法。 在"WebApplicationAjaxToCs"这个项目中,可能包含了示例代码和配置文件,展示了如何在ASP.NET应用程序中...

    jQuery异步访问

    ### 四、$.getJSON() 和 $.getScript() - **$.getJSON()** 用于获取JSON数据,自动设置dataType为'json'。 - **$.getScript()** 用于加载并执行JavaScript脚本。 ### 五、$.load() 简单的HTML片段获取 `$....

Global site tag (gtag.js) - Google Analytics