【问题标题】:Not storing POST data (json)不存储 POST 数据 (json)
【发布时间】:2011-08-06 15:02:24
【问题描述】:

我有这段 javascript:

var jsonString = "一些 json 字符串"; $.post('proxy.php', { data : jsonString }, function(response) { var print = 响应; 警报(打印);

还有一点 PHP(在 proxy.php 中):

$json = $_POST['json']; //设置 POST 变量,这是我要发布到的地方! $url = 'http://my.site.com/post'; //打开连接 $ch = curl_init(); //设置url,POST vars的数量,POST数据 curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_POSTFIELDS, "data=" . urlencode($json)); //执行帖子(结果将类似于 {"result":1,"error":"","pic":"43248234af832048","code":"234920348239048"}) $result = curl_exec($ch); $response = json_decode($result); $imageHref = 'http://my.site.com/render?picid=' 。 $response['picid']; //关闭连接 curl_close($ch); 回声 $imageHref;

我正在尝试使用代理将数据发布到外部站点。从那里,我附加站点响应的 picid 并将其附加到 URL 以获取图像 URL。

我在这里遗漏了什么吗?我没有得到任何响应,而且似乎我的数据甚至没有被发布(当我在 proxy.php 的第一行之后尝试 echo $json 时,我得到一个空字符串)。为什么我无法回显 JSON?我的实现是否正确?

谢谢!

【问题讨论】:

    标签: php javascript ajax cross-domain


    【解决方案1】:

    在您的 Javascript 代码中,您使用的是这个:

    { data : jsonString }
    

    那么,从您的 PHP 代码中,您不应该从 $_POST['data'] 读取,而不是 $_POST['json'] 吗?


    如有必要,您可以使用var_dump() 查看$_POST 中的内容:

    var_dump($_POST);
    


    在评论后编辑:如果您得到这样的 JSON 结果:

    {"result":1,"error":"","pic":"43248234af832048","code":"234920348239048"}
    

    这是一个 JSON 对象 -- 这意味着,在解码后,您应该在 PHP 中将其作为对象访问:

    $response = json_decode($result);
    echo $response->pic;
    

    注意:我在该对象中看不到 picid 元素 - 也许您应该改用 pic ?


    不过,您也可以在这里使用var_dump() 来查看您的数据的样子:

    var_dump($response);
    

    【讨论】:

    • 我比你快 32 秒? ;-) 地狱^^
    • 是的!我现在正确获取数据。不过,另一个快速问题是:我是否将 JSON 数据 picid 正确附加到 URL 的末尾?
    • 它应该在 json 对象中是 picid。那么我将它保存到 $imageHref 的那一行,我是否正确获取了 picid 并将其附加到 URL 的末尾?
    【解决方案2】:

    试试这个:

    $json = $_POST['data'];
    

    甚至更好

    var_dump($_POST);
    

    开始时查看帖子中的实际内容

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-18
      • 2018-08-13
      • 1970-01-01
      • 1970-01-01
      • 2020-07-30
      • 2021-12-09
      • 1970-01-01
      • 2018-11-11
      相关资源
      最近更新 更多