您好我面临着json数据的问题。这是我的js代码。
<script>
$(function(){
$.ajax({
url:"http://example.com/salary?from=USD&to=GBP",
dataType: 'jsonp',
success:function(json){
alert(json['to']);
},
error:function(){
alert("Error");
},
});
});
</script>
我想在同一页面中使用PHP中的json数据。 我知道你不能将Javascript值赋给PHP变量。
有办法吗?
或者可以像上面的javascript代码一样在php(Jquery Ajax跨域)中执行类似的任务吗?
任何帮助?
答案 0 :(得分:1)
你的js代码
var my_json_obj = new Object();
my_json_obj .name = "Lanny";
my_json_obj .age = "25";
my_json_obj .location = "China";
var json_str = JSON.stringify(my_json_obj);
<script>
$(function(){
$.ajax({
type: "POST",
dataType: "json",
url: "my.php",
data: {
postData: json_str
},
success: function (data) { alert(data) },
eror: function (data) { alert(data) }
});
});
</script>
你的my.php文件
$postData=$_POST['postData'];
$my_obj=json_decode($postData,true);
$name=$my_obj['name'];
$age=$my_obj['age'];
$localtion=$my_obj['location'];
答案 1 :(得分:0)
你可以用AJAX做到这一点。
您需要一个脚本,它将为PHP脚本提供javascript变量,如:
var PHPFile = 'PHPFile.php?arg1=' + arg1 + '&arg2=' + arg2;
在“PHPFile.php”中,您可以通过
访问它们$arg1 = $_GET["arg1"];
$arg2 = $_GET["arg2"];
或者你可以用jquery $ .ajax-&gt;来做到这一点。数据也是。
您可以通过
访问它们$arg1 = $_POST["arg1"];
$arg2 = $_POST["arg2"];
类似的东西:
result = $.ajax({
type: 'POST',
async: false,
url: 'PHPFile.php',
data: ({
arg1: arg1,
arg2: arg2
})
}).responseText;
alert(result);
编辑:
如果你想用json-object做到这一点,试试这个:
json_decode();