1

好的,所以我需要 PHP 来运行一堆由 javascript 动态生成的 URL。到目前为止,我使用 PHP 获取数据的唯一经验是使用网站的 URL,该 URL 可以通过 API 直接获得 JSON 数据。

因此,在经历了各种痛苦的数小时后,我终于得到了我的数据,我拥有完美 JSON 语法的 URL 和 id(感谢 JSON.stringify()!)。现在,我真的很想将 PHP 指向一个 url 以便开始使用这个 JSON....但是如何?!

我很犹豫要不要发布这个,但如果能稍微推动一下正确的方向,将不胜感激。从我现在看到的情况来看,似乎我可能需要更多地研究以某种方式将这些数据发布到我的服务器?我应该研究 AJAX 吗?

同样,我知道这是一个真正的初学者问题,所以我更多地寻找正确方向的轻微推动,而不是给我一个我需要使用的代码块。

感谢您的任何帮助!

4

1 回答 1

2

您需要做的有两个部分:

  1. 将 JSON 发送到服务器。

  2. 将 JSON 解码为 PHP“关联数组”。

第一部分可以通过提交表单或使用 ajax 发送POST到服务器来完成。如果你不使用任何库,你会使用XMLHttpRequest它,但是所有主要的 JavaScript 库都有方便的函数来使它更容易。由于将 JSON 字符串发送到服务器的最简单方法是使用标准的多部分表单数据编码,因此请务必使用encodeURIComponent. 例如:

var xhr = new XMLHttpRequest(); // Older browers may need some special handling when creating the object
xhr.open("POST", "/path/to/your/page");
xhr.send("jsondata=" + encodeURIComponent(yourJsonString));

既然您说您使用的是 jQuery,您可以使用ajax将数据发布到服务器:

$.ajax({
    url:     "/path/to/your/page.php",
    type:    "POST",
    data:    {jsondata: yourJsonString},
    success: function(data) {
        // Handle successful post here, use `data` if your PHP
        // page sends a reply
    },
    error:   function() {
        // Handle error here
    }
});

第二部分(接收 JSON 并对其进行解码)是通过接受 POST 变量(jsondata在上面)并通过json_decode.

于 2013-02-25T10:38:41.357 回答