AJAX запрос все вернуть ошибку 500 - PullRequest
0 голосов
/ 17 марта 2012

Когда я делаю ajax-запрос с jquery, я всегда получаю ошибку 500 return,

Я отправляю по следующему URL

http://localhost/domain/index.php/my_profile/interests_music

используя этот javascript,

$("#add").click(function(e){

    //set some process variables, we need to get the forms action, 
    //and any post data it is sending appending isAjax into the params
    //gives us a point in the controller to gracefully check for ajax.
    var action = $(this).parent('form').attr('action');
    var formData = $(this).parent('form').serialize()+"&isAjax=1";

    $.ajax({
        type: "POST",
        url: action,
        data: formData
    }).done(function( msg ) {
        alert( "Data Saved: " + msg );
    });

    e.preventDefault();
});

Отправляемые параметры:

music = Savage Garden & isAjax = 1

И метод PHP, который запрашивает ajax, выглядит следующим образом:

public function interests_music()
{
    if($this->input->post('music'))
    {
        $this->rest->initialize(array('server' => 'https://www.googleapis.com/freebase/v1'));
        $response = $this->rest->get('mqlread?query={"type":"/music/artist","name":"' . urlencode($this->input->post('music')) . '","id":[]}');
        $data['image'] = 'https://usercontent.googleapis.com/freebase/v1/image'.$response->result->id[0].'?mode=fillcrop&maxwidth=80&maxheight=80';
        $data['category'] = 'music';
        $data['user_id'] = $this->session->userdata('id');
        $data['name'] = $this->input->post('music', TRUE);

        $this->profile_model->add_interest($data);

        Events::trigger('interests_music');
        Events::trigger('badge_stagediver');

        if($this->input->post('isAjax') == 1)
        {
            echo json_endcode($data);
            $this->_buttons();
        }

        redirect('my_profile/interests');
    }
    else
    {
        show_404();
    }
}

Я что-то упустил, это общая проблема?

1 Ответ

2 голосов
/ 17 марта 2012

Ну, во-первых, в вашем PHP есть опечатка, которая может быть тем, что задыхается на вашем сервере: echo json_endcode($data); должно быть echo json_encode($data);.Помимо этого могут быть другие проблемы с вашим сервером HTTP.Какой сервер вы используете?Хорошей практикой является поиск журнала ошибок сервера и журнала ошибок PHP и использование tail -f или другого метода мониторинга журналов, который должен дать вам больше информации, когда у вас 505 с.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...