我正在尝试将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。
然后,如果我更改了网址以传递数据。我将它传递给服务器(主机站点) 它不起作用。
$.post("http://www.mysite.com/proto2.php", {'updateValues': json_data}, function(data){
alert(data);
});
任何想法如何解决这个问题?如果有人帮助我,我会很高兴。
提前致谢。
答案 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请求发送数据异步?
我确定你有理由,只是想帮助理解。