getDataAsJSON()在PHP中是一个未定义的函数,但许多解释如何使用JSONP的网站都说要使用它
getDataAsJSON() is an undefined function in PHP, but many of the websites explaining how to use JSONP say to use it
Javascript Ajax:
<script type="text/javascript" src="http://www.MyFirstDomain.com/jquery.js"></script>
<script type="text/javascript">
$(document).ready( function () {
var referrer = document.referrer;
var currentpage = $(location).attr('href');
var data_object = {
'ref': referrer,
'curpg': currentpage,
'shizz1e': '21'
};
$.ajax({
'dataType': 'jsonp',
'jsonp': 'jsonp_callback',
'url': "http://www.myOtherDomain.com/ajaxreceiver.php",
'data': data_object
});
});
PHP:
<?php
$data = getDataAsJSON($_GET['curpg']);
echo $data;
?>
我试图将一些变量从一台服务器上的Javascript发送到另一台服务器的PHP。我使用Ajax和JSONP(围绕同源策略工作)。我曾经尝试理解JSONP的网站说过,使用getDataAsJSON()来获取PHP中的JSON,但这显然不是一个真正的函数。我做错了吗?
在PHP中,您可以使用json_decode。
PHP没有名为getDataAsJSON的函数。THat可能是某人编写的自定义函数。
函数json_decode创建json字符串的一个对象。所以你将无法回显它,因为它会给你一个错误。您可以使用print_r($data)来获取对象的值
getDataAsJSON
不存在。但是,您可以加载这样的JSON文件:
json_decode(file_get_contents($url));
您可能希望将json_decode
的第二个参数(将对象转换为关联数组)设置为true,这样您就可以像访问数组一样访问解码的对象。
json_decode()
返回一个具有属性的新STDClass对象。失败时为NULL。
json_encode()
返回一个包含这些json属性的字符串。
此外,您应该检查函数是否返回了有效的json对象/字符串或NULL。所以,使用一些基本的验证对你来说是件好事。
我更喜欢使用var_dump()
来跟踪对象。
//define getDataAsJson():
function getDataAsJson($param) {
$ary = array(
"symbol" => $param || 'IBM',
"price" => "199.0"
);
return json_encode($ary);
}
相关文章:
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- 使用JSONP访问维基百科API
- 在.js文件上使用Ajax获取JSONP
- getDataAsJSON()在PHP中是一个未定义的函数,但许多解释如何使用JSONP的网站都说要使用它
- 未捕获的类型错误:无法读取 null 的属性“removeChild”(使用 Instagram 的 JSONP 响应)
- 将使用 $.ajax() 和 JSONP 的 API 调用替换为服务器到服务器的 API 调用
- 如何使用Angular$http.jsonp从S3加载JSON文件
- 使用Jquery将Ajax jsonp数据转换为数组
- 如何使用jquery调用jsonp
- 如何使用jsonp调用返回的数据在Durandal中呈现视图
- 使用jQuery进行跨域ajax JSONP请求
- 使用jsonp解决方法进行同步ajax调用
- 使用JSONP内容压缩web服务响应是否有效
- 使用边界框策略加载Open layers 3 jsonp矢量层
- 使用IE、Jsonp和OpenID,我如何让数据发送服务器将客户端视为已验证
- 为什么 $.getJson 不能与 json 或 jsonp 一起使用
- 在带有已定义回调函数的JSONP中使用$.when
- 将angularjs与静态jsonp一起使用只能工作一次
- 连续json &jsonp请求使用Crossrider失败
- jQuery jsonp即使使用有效的json格式也不会触发成功处理程序