2016-01-03 3 views
0

В двух словах моя функция AJAX выполняет вход пользователя POST в файл PHP, который использует данные POST в сотрудничестве с cURL, чтобы вернуть переменную с успехом обратно в ajax.PHP cURL, отправляющий HTTP 200 ok без данных для AJAX

Однако ajax всегда получает код 200 OK HTTP, даже если переменная пуста, это приводит к сбою моего сценария.

Happens 1 из 5 раз. Отстой, чтобы быть пятым парнем, но все, что вам нужно сделать, это снова нажать кнопку, и это обычно не происходит последовательно.

--- ВОПРОС --- Есть ли способ сделать Curl проверить $ вар, прежде чем POST назад Аякс и если за $ вара пуст сделать запрос Curl снова.

--- PHP код ---

$c = curl_init($blizz_url . $blizz_key); 
curl_setopt($c, CURLOPT_RETURNTRANSFER, true); 
$html = curl_exec($c); 
if (curl_error($c)) 
die(curl_error($c)); 
$status = curl_getinfo($c, CURLINFO_HTTP_CODE); 

curl_close($c); 


if (!empty($html)) { 
echo $html; 
} 

--- --- JS КОД

function ajaxR() { 
//by adding the return you can now appy the wait and done params 
return $.post("main.php?ajax=true", {name: $('.nameinp').val(), realm:  $('.realminp').val()}, 
function (data) 
    { 
     axisT = data; 
    } 
); 

};

Я пробовал несколько вещей, но, прочитав больше о стеке и других ресурсах, я думаю, что его обработка ошибок в php нуждается в работе, но я действительно недостаточно знаю о cURL или программировании!

Любая помощь была бы оценена !!!!

ответ

0

Все, что мне нужно было сделать, это добавить условие в ajax, чтобы при успешном проверке данных содержались фактические данные, и если бы он установил axisT (var, который я хотел вернуть) к данным.

В противном случае запустите АЯКС пост снова

function ajaxR() { 
//by adding the return you can now appy the wait and done params 
return $.post("main.php?ajax=true", {name: $('.nameinp').val(), realm: $('.realminp').val()}, 
function (data) 
    { 
    if(data !== "undefined"){ 
    axisT = data; 
    } else { 
     ajaxR(); 
    } 
    }; 
); 
Смежные вопросы