1

我正在尝试将 JSON 数据发送到服务器(本地主机到托管站点),不幸的是它不起作用。

我有这段代码,我在搜索解决方案时在这个网站上找到并对其进行了一些修改。

原型.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。

结果

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

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

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

提前致谢。

4

2 回答 2

4

阅读jQuery.post() API中的附加说明。AJAX 请求受制于同源策略。这就是为什么您不能对不同的域执行 ajax 发布。

如果您对目标服务器有控制权,则可以启用跨域资源共享。查看有关如何启用 CORS 的答案。注意:并非所有浏览器都支持 CORS。请参阅CORS 浏览器支持

于 2012-12-18T03:28:29.407 回答
0

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

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

我相信你有你的理由,只是想帮助理解。

于 2012-12-18T03:34:20.683 回答