当前位置:  开发笔记 > 编程语言 > 正文

为什么我不能通过使用curl_setopt和Ajax jquery获取数据?

如何解决《为什么我不能通过使用curl_setopt和Ajaxjquery获取数据?》经验,为你挑选了0个好方法。

我是通过使用curl_setopt PHP和Ajax查询来自另一个服务器的数据 我已经测试了我的下面的功能它是工作但它似乎不够顺利,因为有时当我尝试刷新和互联网有点大慢我永远不会得到数据.当我在Firefox中检查firebug时,我发现如下json响应.

"









"

*我现在被卡住了,因为我不知道如何应对这个问题*

private function http_code() {

    $ch = curl_init();
    if (!$ch) {
        die("Couldn't initialize a cURL handle");
    }

    $ret = curl_setopt($ch, CURLOPT_URL, "http://Mypartnerwebsite!queryLuckNumberRecordByPeriods.action");
    $ret = curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    $ret = curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $ret = curl_setopt($ch, CURLINFO_PRETRANSFER_TIME, 0.1);
    $ret = curl_setopt($ch, CURLINFO_HTTP_CODE, true);
    $ret = curl_setopt($ch, CURLOPT_PRIVATE, false);
    $ret = curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    $ret = curl_exec($ch);
    $data;
    $res;
    if (empty($ret)) {
        $res = 0;
        $data = 0; // Partner server slow.
        curl_close($ch);
    } else {

        $info = curl_getinfo($ch);
        curl_close($ch);
        if (empty($info['http_code'])) {
            $res = 01;
            $data = 01; // Got empty date from partner server
        } else {
            if ($this->errorType($info['http_code']) == TRUE) { // errors type
                $data = $ret;
                $res = $this->errorType($info['http_code']);
            } else {
                $data = $ret;
                $res = 'unknowError';
            }
        }
    }
    echo json_encode(array('res' => $res, 'data' => $ret));
}

这是一个检查知道什么类型的服务器错误响应的功能 目的我想检查我的伙伴服务器错误,我将这种错误发送到我的网站,以确保出现什么样的错误.

private function errorType($haystack) {

    $errors = array(404, 200, 201, 204, 500, 501, 502, 503, 504, 505, 100, 203);
    if (in_array($haystack, $errors)) {
        return $haystack;
    } else {
        return FALSE;
    }
}

这是Jquery Ajax从我自己的服务器获取数据

$.ajax({
    method: "GET",
    url: "",
    dataType: "JSON",
    beforeSend: function (xhr) {
    },
    success: function (data, textStatus, jqXHR) {
        $(".loading").html("");
        if (data.res !== 200) {
            $("

Errors type:"+data.res+"

").appendTo(".errors"); } else { if (data.data == false) { getdata();// I want to reload Ajax if I got respond false and my data = ''; } $.each(eval(ldata), function (i, val) { $(val.anydata").appendTo(".result"); }) } } });

请帮忙.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有