【问题标题】:PHP XMLHttpRequestPHP XMLHttpRequest
【发布时间】:2014-09-26 11:23:44
【问题描述】:

我真的是 php 新手,我想在我的 php 页面中创建一个 XMLHttpRequest,但不知道该找谁。

这是 Chrome 信息,您可以看到标头是 XMLHttpRequest : Chrome Request Image

这是响应数据(表格): Chrome XHR response

如何在我的 php 页面中提出这个请求??

PD - 对不起我的英语不好)

【问题讨论】:

  • 您确定要使用 PHP 来发出请求吗,因为我将使用 ajax 来做同样的事情。如果您想查看示例,请查看w3schools.com/php/php_ajax_xml.asp
  • @Satya 谢谢,不太清楚必须使用什么:S 我有一个 php 页面,我只想获取这张表,你可以在第二个链接看到的不是我的,不知道该怎么做

标签: php xmlhttprequest


【解决方案1】:

即使我不知道任何细节,大多数情况下 SimpleXML 可以提供帮助:)

对于这个feed.xml-文档:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<items>
    <title>Cities</titel>
    <item>
        <cityname>Genf</cityname>
    </item>
    <item>
        <cityname>Köln</cityname>
    </item>
</items>

试试:

<?php
$xml = simplexml_load_file("feed.xml");
foreach ($xml->item as $item) {
    echo $item;
}
?>

【讨论】:

    【解决方案2】:

    如果您想使用 PHP 执行 XMLHttpRequest,您可以使用 curl。通过放置正确的标题,您将看起来像是在执行 XMLHttpRequest

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $sUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Return result as a string
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        "Host" = > "someloginserver.com",
        "User-Agent" = > "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
        "Accept" = > "application/json, text/javascript, */*; q=0.01",
        "Accept-Language" = > "en-us,en;q=0.5",
        "Accept-Encoding" = > "gzip, deflate",
        "Accept-Charset" = > "ISO-8859-1,utf-8;q=0.7,*;q=0.7",
        "Keep-Alive" = > "115",
        "Connection" = > "keep-alive",
        "X-Requested-With" = > "XMLHttpRequest",
        "Referer" = > "http://remote/"
    ));
    // Execute curl
    $result = curl_exec($ch); // The output will be stored $result
    // Check Error
    if ($errno = curl_errno($ch)) {
        $error_message = curl_strerror($errno);
        echo "cURL error ({$errno}):\n {$error_message}";
    } else {
        echo "<h2>Request Completed</h2>";
    }
    curl_close($ch);
    

    【讨论】:

    • 为我工作!!!!但是当我调用 curl_exec 时,结果会显示在我的网页中,我只希望明文的表格(XHR 数据)来提取一些数据,有什么办法吗?
    • @dina 我刚刚编辑了我的答案,您需要添加 CURLOPT_RETURNTRANSFER 选项并将其设置为 true。然后,您将在 $result 变量中以纯文本形式获得结果。从中您将能够进行任何提取工作
    • 完美!再次感谢
    猜你喜欢
    • 2011-03-03
    • 2012-04-24
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 2011-07-19
    相关资源
    最近更新 更多