Chrome上的JQUERY PHP为GET请求提供了500错误

时间:2015-11-17 00:35:57

标签: javascript php jquery html twitter

enter image description here


PHP代码在这里并使用Twitter API Exchange PHP File

<?php

    require_once('TwitterAPIExchange.php');        

    $settings = array(
    'oauth_access_token'            => 'whatever',
    'oauth_access_token_secret'     => 'whatever',
    'consumer_key'                  => 'whatever',
    'consumer_secret'               => 'whatever'
    );


    $query = "%23georgeezra";
    $url = "https://api.twitter.com/1.1/search/tweets.json";
    $requestMethod = "GET";
    $getfield = '?q='.$query.'&count=5';
    $twitter = new TwitterAPIExchange($settings);
    $result = $twitter->setGetfield($getfield)->buildOauth($url, $requestMethod)->performRequest();
    echo $result;

?>

我已在Twitter上的Dev工具上运行此查询,并且查询按要求执行,但在Chrome和Firefox上,它在Apache2服务器上运行并使用JQuery版本2.1.1时出现500(内部服务器错误)错误


JQuery代码:

$(function(){

    $.ajax({
        url: 'ezra.php',
        type: 'GET',
        success: function(response) {

            if (typeof response.errors === 'undefined' || response.errors.length < 1) {

                var $tweets = $('<ul></ul>');
                $.each(response, function(i, obj) {
                    $tweets.append('<li>' + obj.text + '</li>');
                });

                $('.tweets-container').html($tweets);

            } else {
                $('.tweets-container p:first').text('Response error');
            }
        },
        error: function(errors) {
            $('.tweets-container p:first').text('Request error');
        }
    });
});

2 个答案:

答案 0 :(得分:1)

$result = json_decode(...)

应致电json_encode,而不是json_decode。并且$assoc = TRUE不适合json_encode的第二个参数。

您还需要添加:

dataType: "json"

$.ajax来电。

答案 1 :(得分:0)

原来,TwitterAPIExchange.php文件需要cURL才能工作。
我跑了:sudo apt-get install php5-curl后跟sudo /etc/init.d/apache2 restart并且做到了。