今天写了个数据接口供前端同事使用,本来很简单的事,没想到遇到一些问题,在此记录一下。
后端:php提供json数据接口;前端:利用$.getJSON获取数据处理。
错误如下:
在火狐浏览器中:SyntaxError: missing ; before statement
经搜索解决方案得到如下信息:
$b = json_encode($data); header("Access-Control-Allow-Origin:http:xxx.cn");//(1) echo "{$_GET['jsoncallback']}({$b})";//(2) exit;
如果在PHP中少了(1)行的代码,则会出现
XMLHttpRequest cannot load ''. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' ' is therefore not allowed access.
如果少了第(2)行代码
在谷歌浏览器中:Uncaught SyntaxError: Unexpected token :
在火狐浏览器中:SyntaxError: missing ; before statement
参考文章:http://blog.163.com/lvshutao@126/blog/static/164637467201442253942499/
相关推荐
例如,以下是一个简单的使用 $.getJSON 进行跨域请求的例子: 服务器端(如 PHP): ```php // 假设这是服务器返回的 PHP 文件,返回 JSON 数据 $arr = array("name" => "zhangsan", "age" => 20); $jarr = json_...
这个简单的实验不仅演示了如何使用`$.getJSON`进行跨域请求,还提供了如何构建一个基本的API接口,使得其他应用可以通过Ajax与之交互。在实际开发中,需要考虑更多的安全性、错误处理和性能优化,比如输入验证、异常...
原型如下: jQuery.getJSON( url, [data], [callback] ) 跨域加载JSON数据。 url: 发送请求的地址 data : (可选) 待发送key/value参数 callback: (可选) 载入成功时的回调函数 主要用于客户端获取服务器JSON数据。...
在Web开发中,由于浏览器的安全策略,JavaScript通常不能直接进行跨域请求,但jQuery提供了$.ajax和$.getJSON方法,通过JSONP(JSON with Padding)技术来实现在不同源之间获取JSON数据。下面将详细介绍如何使用...
总结来说,解决IE下`$.getJSON`问题的关键在于: 1. 对URL中的中文字符进行URL编码。 2. 明确指定`dataType`为`'json'`。 3. 使用`$.ajax`代替`$.getJSON`,以获取更多的控制和调试选项。 在开发过程中,对于IE兼容...
- 考虑使用`$.ajax()`的`dataType: 'json'`替代`$.getJSON()`,以便利用更多的AJAX选项。 - 避免频繁的异步请求,尽可能合并请求或使用服务器端缓存。 - 对于大量数据,考虑使用分页或者懒加载技术。 总结,`jQuery...
本文将详细介绍使用$.getJSON方法调用远程JSON字符串,并解决可能遇到的一些问题。 首先,让我们了解$.getJSON方法的基本用法。$.getJSON方法是jQuery库中的一个函数,它的作用是发送一个GET请求,用于从服务器获取...
在实际开发中,我们还需要考虑错误处理、异步请求的管理(比如使用`$.when()`和`Promise`)以及跨域请求(CORS)等问题。同时,了解jQuery的`$.param()`方法,用于将对象序列化成URL查询字符串,也是很有帮助的。 ...
【jQuery.getJSON方法详解及其在跨域请求中的应用】 jQuery.getJSON是jQuery库中用于发起异步JSON数据请求的方法,它允许我们在不离开当前页面的情况下从远程服务器获取JSON格式的数据,进而更新页面内容。这个方法...
type: 'get', // jQuery不支持POST方式进行跨域请求 data: jda, async: false, url: url, // 跨域请求的URL dataType: 'jsonp', // 设置响应类型为jsonp jsonp: 'jsoncallback', // 传递给请求处理程序,用以...
JSONP(JSON with Padding)是一种解决跨域请求的方法,即在客户端通过 script 标签请求服务器端的数据,然后服务器端将数据以 JSON 格式返回,并在返回数据中包含一个回调函数,以便客户端可以将数据处理。...
jQuery提供了`$.ajax()`函数和`$.getJSON()`函数,方便地实现了从服务器获取JSON数据并解析的过程。例如,使用`$.getJSON()`获取JSON数据: ```javascript $.getJSON('data.json', function(data) { console.log...
这个"ajax跨域请求demo.zip"压缩包提供了一个关于如何实现Ajax跨域请求的示例,涉及到前后端的交互。 首先,我们关注"前端代码"部分。前端通常使用JavaScript库如jQuery来实现Ajax请求。jQuery的`$.ajax()`方法是...
jQuery提供了更简洁的API来处理AJAX请求,如`load()`,`$.get()`,`$.post()`和`$.getJSON()`。 1. `load()`方法用于加载HTML文档或文档的一部分: ```javascript $("#resText").load("test.html"); $("#resText...
4. **jQuery的$.getJSON()**:为了简化`$.ajax()`的JSON请求,jQuery提供了`$.getJSON()`函数,它会自动处理JSON解析: ```javascript $.getJSON('server_script.php', function(data) { // data是解析后的JSON...
总结来说,jQuery为开发者提供了强大的工具来动态获取和处理数据,如`$.ajax()`、`$.getJSON()`和`$.getScript()`,它们使得在不刷新页面的情况下与服务器进行交互成为可能,从而显著提升了用户体验。通过理解和熟练...