Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как отправить ajax-запрос с использованием curl? / 4 сообщений из 4, страница 1 из 1
25.06.2015, 17:42
    #38992992
meg17m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отправить ajax-запрос с использованием curl?
Сейчас отсылаю так:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
if( $curl = curl_init() ) {
            $data_post_fields = json_encode(array('action'=>'repair', 'type'=>'mobile', 'mobile'=>$mobile));

            curl_setopt($curl, CURLOPT_URL,'http://v8-2.firma.loc/repair');
            curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
            curl_setopt($curl, CURLOPT_POST, true);
            curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
            curl_setopt($curl, CURLOPT_HTTPHEADER, array("X-Requested-With: XMLHttpRequest", "Content-Type: application/json; charset=utf-8",'Content-Length: ' . strlen("action=repair&type=mobile&mobile=".$mobile)));
            curl_setopt($curl, CURLOPT_POSTFIELDS, "action=repair&type=mobile&mobile=".$mobile);
            curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
            $out = curl_exec($curl);
            die($out);
            curl_close($curl);
        }


Скрипт обработчик http://v8-2.firma.loc/repair имеет в себе код:
Код: php
1.
if($this->request->post('action') === 'repair' && $this->request->is_ajax()) {


Так вот условие $this->request->is_ajax() проходит (он понимает, что это аякс), а пост-переменную не видит (условие $this->request->post('action') === 'repair' не срабатывает)

Если убрать условие:
Код: php
1.
curl_setopt($curl, CURLOPT_HTTPHEADER, array("X-Requested-With: XMLHttpRequest", "Content-Type: application/json; charset=utf-8",'Content-Length: ' . strlen("action=repair&type=mobile&mobile=".$mobile)));


то пост-переменные он видит, но тогда это уже не аякс.

Помогите найти ошибку.
...
Рейтинг: 0 / 0
29.06.2015, 12:13
    #38994817
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отправить ajax-запрос с использованием curl?
в CURLOPT_POSTFIELDS массив положи, а не строку
...
Рейтинг: 0 / 0
29.06.2015, 12:22
    #38994825
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отправить ajax-запрос с использованием curl?
замени === на ==
...
Рейтинг: 0 / 0
29.06.2015, 13:21
    #38994910
Barlone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отправить ajax-запрос с использованием curl?
MegaLasta, у вас в заголовке "Content-Type: application/json", а вот это
Код: php
1.
curl_setopt($curl, CURLOPT_POSTFIELDS, "action=repair&type=mobile&mobile=".$mobile);

никак не json
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как отправить ajax-запрос с использованием curl? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]