`

【转】$.getJSON与PHP跨域请求问题解决

 
阅读更多

     今天写了个数据接口供前端同事使用,本来很简单的事,没想到遇到一些问题,在此记录一下。

    后端: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实现跨域ajax请求示例代码

    例如,以下是一个简单的使用 $.getJSON 进行跨域请求的例子: 服务器端(如 PHP): ```php // 假设这是服务器返回的 PHP 文件,返回 JSON 数据 $arr = array("name" => "zhangsan", "age" => 20); $jarr = json_...

    通过jquery的$.getJSON做一个跨域ajax请求试验

    这个简单的实验不仅演示了如何使用`$.getJSON`进行跨域请求,还提供了如何构建一个基本的API接口,使得其他应用可以通过Ajax与之交互。在实际开发中,需要考虑更多的安全性、错误处理和性能优化,比如输入验证、异常...

    JQuery中的$.getJSON 使用说明

    原型如下: jQuery.getJSON( url, [data], [callback] ) 跨域加载JSON数据。 url: 发送请求的地址 data : (可选) 待发送key/value参数 callback: (可选) 载入成功时的回调函数 主要用于客户端获取服务器JSON数据。...

    JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码

    在Web开发中,由于浏览器的安全策略,JavaScript通常不能直接进行跨域请求,但jQuery提供了$.ajax和$.getJSON方法,通过JSONP(JSON with Padding)技术来实现在不同源之间获取JSON数据。下面将详细介绍如何使用...

    ie下$.getJSON出现问题的解决方法

    总结来说,解决IE下`$.getJSON`问题的关键在于: 1. 对URL中的中文字符进行URL编码。 2. 明确指定`dataType`为`'json'`。 3. 使用`$.ajax`代替`$.getJSON`,以获取更多的控制和调试选项。 在开发过程中,对于IE兼容...

    Jquery getJson

    - 考虑使用`$.ajax()`的`dataType: 'json'`替代`$.getJSON()`,以便利用更多的AJAX选项。 - 避免频繁的异步请求,尽可能合并请求或使用服务器端缓存。 - 对于大量数据,考虑使用分页或者懒加载技术。 总结,`jQuery...

    jquery的$getjson调用并获取远程的JSON字符串问题

    本文将详细介绍使用$.getJSON方法调用远程JSON字符串,并解决可能遇到的一些问题。 首先,让我们了解$.getJSON方法的基本用法。$.getJSON方法是jQuery库中的一个函数,它的作用是发送一个GET请求,用于从服务器获取...

    使用jQuery的ajax的post与get发送数据到指定url

    在实际开发中,我们还需要考虑错误处理、异步请求的管理(比如使用`$.when()`和`Promise`)以及跨域请求(CORS)等问题。同时,了解jQuery的`$.param()`方法,用于将对象序列化成URL查询字符串,也是很有帮助的。 ...

    jquery跨域请求示例分享(jquery发送ajax请求)

    【jQuery.getJSON方法详解及其在跨域请求中的应用】 jQuery.getJSON是jQuery库中用于发起异步JSON数据请求的方法,它允许我们在不离开当前页面的情况下从远程服务器获取JSON格式的数据,进而更新页面内容。这个方法...

    ajax跨域问题!

    type: 'get', // jQuery不支持POST方式进行跨域请求 data: jda, async: false, url: url, // 跨域请求的URL dataType: 'jsonp', // 设置响应类型为jsonp jsonp: 'jsoncallback', // 传递给请求处理程序,用以...

    PHP AJAX JSONP实现跨域请求使用范例_ajax如何解决跨域请求

    JSONP(JSON with Padding)是一种解决跨域请求的方法,即在客户端通过 script 标签请求服务器端的数据,然后服务器端将数据以 JSON 格式返回,并在返回数据中包含一个回调函数,以便客户端可以将数据处理。...

    jquery+json实例

    jQuery提供了`$.ajax()`函数和`$.getJSON()`函数,方便地实现了从服务器获取JSON数据并解析的过程。例如,使用`$.getJSON()`获取JSON数据: ```javascript $.getJSON('data.json', function(data) { console.log...

    ajax跨域请求demo.zip

    这个"ajax跨域请求demo.zip"压缩包提供了一个关于如何实现Ajax跨域请求的示例,涉及到前后端的交互。 首先,我们关注"前端代码"部分。前端通常使用JavaScript库如jQuery来实现Ajax请求。jQuery的`$.ajax()`方法是...

    原生与JQuery的ajax的使用

    jQuery提供了更简洁的API来处理AJAX请求,如`load()`,`$.get()`,`$.post()`和`$.getJSON()`。 1. `load()`方法用于加载HTML文档或文档的一部分: ```javascript $("#resText").load("test.html"); $("#resText...

    采用Json、Jquery实现Ajax案例

    4. **jQuery的$.getJSON()**:为了简化`$.ajax()`的JSON请求,jQuery提供了`$.getJSON()`函数,它会自动处理JSON解析: ```javascript $.getJSON('server_script.php', function(data) { // data是解析后的JSON...

    jquery动态获取数据

    总结来说,jQuery为开发者提供了强大的工具来动态获取和处理数据,如`$.ajax()`、`$.getJSON()`和`$.getScript()`,它们使得在不刷新页面的情况下与服务器进行交互成为可能,从而显著提升了用户体验。通过理解和熟练...

Global site tag (gtag.js) - Google Analytics