分站的过程中,需要跨域请求数据,出现小的问题,记录一下,
test.php,在www.a.com根目录中
test.php代码:
<?php
$dal=$_GET['callback'];
$arr=array("name"=>"4nail", "age"=>20);
$jarr=json_encode($arr);
echo $dal.'('.$jarr,')';
?>
test.html在www.b.com根目录下
test.html代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript" type="text/javascript" src="Scripts/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$("#test").click(function(){
$.getJSON("http://www.a.com/test.php?callback=?",function(data){
alert(data.name);
});
});
});
</script>
</head>
<body>
<div style="width:100px;height:100px;background-color:#F00" id="test">点击跨域加载</div>
</body>
</html>
在,$.getJSON()中,url参数,后面要加个,callback=?,至于callback,可以自定义其他的名称,在test.php文件中,改相应的名称,就ok啦!在输出的json 数据时,必须要加上$_GET['callback']和两个括号:echo $dal.'('.$jarr,')';z至于为什么要加,网上很多文章,我这里不再陈述!
分享到:
相关推荐
本篇将详细介绍如何解决jQuery跨域问题,涉及的方法包括$.get、$.post和$.getJSON等。 首先,我们需要理解什么是跨域。同源策略是浏览器为保障安全而实施的一项机制,它规定JavaScript只能访问与当前页面同源(协议...
本篇文章将深入探讨jQuery中的异步调用方法,包括`$.ajax()`,`$.post()`和`$.get()`,以及它们在实际开发中的应用。 首先,`$.ajax()`是jQuery提供的最强大的异步数据请求函数,它支持多种HTTP请求方法,如GET、...
$(function(){ $.getJSON(url,function(data){ alert (data.Name); }) }); 服务器返回字符串: {“Name”:”loogn”,”Age”:23} 2,不同域名下 js: 代码如下: var url=”...
在使用$.get()方法时,我们还需要注意一些潜在的问题。例如,网络请求可能会因为各种原因失败,比如网络错误或服务器不可达。因此,为了编写健壮的代码,我们需要在回调函数中处理这些错误情况。 另一个需要注意的...
- **跨域**:$.getJSON支持JSONP(JSON with Padding)技术,允许跨域请求,这对于访问不同源的数据非常有用。 - **示例**: ```javascript $.getJSON("http://example.com/saveUser.action?callback=?", { '...
使用原生JavaScript来模拟$.getJSON需要考虑浏览器兼容性问题。由于不是所有的浏览器都支持script标签的跨域请求,因此这种方法可能在一些老旧浏览器中无法工作。同时,由于JSONP本质上是执行远程返回的脚本代码,...
例如,以下是一个简单的使用 $.getJSON 进行跨域请求的例子: 服务器端(如 PHP): ```php // 假设这是服务器返回的 PHP 文件,返回 JSON 数据 $arr = array("name" => "zhangsan", "age" => 20); $jarr = json_...
本篇文章将详细讲解如何利用jQuery的`$.getJSON()`方法来实现跨域查询。 **一、跨域的由来与限制** 跨域是浏览器为了保护用户的安全而设置的一种机制,它禁止了不同源(协议、域名或端口)之间的Ajax请求。这导致...
在本文中,我们将探讨如何使用jQuery的`$.getJSON`方法进行跨域Ajax请求,并通过一个简单的预约登记接口的示例来展示其实现过程。首先,理解`$.getJSON`是jQuery库提供的一个便捷方法,用于异步获取JSON格式的数据,...
原型如下: jQuery.getJSON( url, [data], [callback] ) 跨域加载JSON数据。 url: 发送请求的地址 data : (可选) 待发送key/value参数 callback: (可选) 载入成功时的回调函数 主要用于客户端获取服务器JSON数据。...
在Web开发中,由于浏览器的安全策略,JavaScript通常不能直接进行跨域请求,但jQuery提供了$.ajax和$.getJSON方法,通过JSONP(JSON with Padding)技术来实现在不同源之间获取JSON数据。下面将详细介绍如何使用...
为了提高性能,可以使用$.ajaxSetup()来设置全局的Ajax选项,或者使用$.getJSON()($.get()的JSON版本)和$.getScript()(加载并执行远程JavaScript)等简化的API。 总的来说,$.get()和$.post()是jQuery中实现...
如果你发现IE下`$.getJSON`的响应速度慢或者有其他问题,可能需要考虑使用更底层的`$.ajax`方法来替代,以获得更多的控制和调试选项: ```javascript $.ajax({ type: 'GET', // 或 'POST' url: url, data: data,...
在处理JSONP(JSON with Padding)格式的跨域请求时,$.ajax()和$.getJson()方法也支持JSONP回调函数的自动处理。需要注意的是,JSONP请求不受同源策略限制,因此可以用来从其他域请求数据,但安全性和数据保护仍然...
本篇将详细讲解如何使用getJSON来解决跨域问题,以及涉及到的相关技术点。 首先,我们要理解什么是跨域。跨域是指一个域下的文档或脚本尝试请求另一个域下的资源时,如果两个域不相同,就会触发跨域安全策略。例如...