【问题标题】:Send JSON data to PHP SERVER (Localhost to Hosting Site)将 JSON 数据发送到 PHP SERVER(本地主机到托管站点)
【发布时间】:2012-12-18 03:24:02
【问题描述】:

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

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

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。

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

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

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

提前致谢。

【问题讨论】:

    标签: php javascript jquery ajax json


    【解决方案1】:

    阅读jQuery.post() API 中的附加说明。 AJAX 请求受same origin policy 的约束。这就是为什么您不能执行 ajax 发布到不同域的原因。

    如果你对目标服务器有控制权,你可以enable cross-origin resource sharing。查看 this answer 了解如何启用 CORS。注意:并非所有浏览器都支持 CORS。见CORS browser support

    【讨论】:

    • 感谢您的回答。我已阅读完您提供给我的文档,谢谢。对于替代解决方案而不是使用 ajax 的任何建议?
    • 如果你对目标服务器有控制权,你可以enable cross-origin resource sharing。查看 this answer 了解如何启用 CORS。注意:并非所有浏览器都支持 CORS。见CORS browser support
    【解决方案2】:

    您能详细解释一下您要做什么吗?

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

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

    【讨论】:

    • 这应该是评论而不是答案。
    • @Shomz 是的,应该,但不知何故,我永远无法在原始海报问题上找到“添加评论”按钮......它是否在“共享|编辑|标志”下方以外的地方?原始问题?
    • 对不起,我的错 - 似乎你需要 50 声望才能在任何地方发表评论。 stackoverflow.com/privileges/comment
    • @Shomz 我那微不足道的小名声显然还没有增长到足够的程度,希望它会很快增长一点......
    猜你喜欢
    • 2019-11-29
    • 2017-10-20
    • 2015-07-13
    • 2017-12-20
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    相关资源
    最近更新 更多