将JSON数据发送到PHP SERVER(Localhost到主机站点)

时间:2012-12-18 03:24:03

标签: php javascript jquery ajax json

我正在尝试将JSON数据发送到服务器(Localhost到主机站点),但遗憾的是它不起作用。

我有这个代码,我在搜索解决方案时稍微修改了一下这个网站。

proto.html

这是启动功能的按钮

<button onclick="proto_test();">Test Button</button>

这是我遇到问题的函数的代码。

function proto_test() {
var data = {},
data['abc'] = [];
data['abc'].push('some info');
data['abc'].push('some more info');
json_data = JSON.stringify(data);

$.post("proto2.php", {'updateValues': json_data}, function(data) {
alert(data);
});

}

proto2.php

以下是我正在回应它的php文件的代码。

<?php
echo $_POST['updateValues'];
?>

这是您点击按钮后的样子。它会提醒结果。 (LOCALHOST TO LOCALHOST)换句话说,我正在使用XAMPP。

Result

然后,如果我更改了网址以传递数据。我将它传递给服务器(主机站点) 它不起作用。

$.post("http://www.mysite.com/proto2.php", {'updateValues': json_data}, function(data){
alert(data);
});

任何想法如何解决这个问题?如果有人帮助我,我会很高兴。

提前致谢。

2 个答案:

答案 0 :(得分:4)

阅读jQuery.post() API中的其他说明。 AJAX请求受same origin policy的约束。这就是为什么你不能将ajax帖子发送到不同的域名。

如果您可以控制目标服务器,则可以enable cross-origin resource sharing。查看this answer有关如何启用CORS的信息。注意:并非所有浏览器都支持CORS。请参阅CORS browser support

答案 1 :(得分:0)

你能解释一下你想做什么吗?

您是否考虑过使用表格?或通过AJAX GET http请求发送数据异步?

我确定你有理由,只是想帮助理解。