簡體   English   中英

PHP cURL將沒有數據的HTTP 200 OK發送到AJAX

[英]PHP cURL sending HTTP 200 ok with no data to AJAX

簡而言之,我的AJAX函數將POST的用戶輸入輸入到PHP文件中,該文件使用POST數據與cURL協作,將成功時的變量返回給ajax。

但是,即使變量為空,ajax也會始終收到200 OK HTTP代碼,這將導致我的腳本崩潰。

發生5次中的1次。 很遺憾成為第五名,但是您要做的就是再次按下按鈕,通常不會連續發生。

---問題---有沒有辦法使cURL在回傳到ajax之前檢查$ var,如果$ var為空,請再次執行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或編程的了解還不夠多!

任何幫助,將不勝感激!!!!

我需要做的就是在ajax中添加一個條件,該條件可以成功檢查數據中實際包含的數據,以及是否確實將axisT(我想返回的var)設置為數據。

否則,再次運行ajax發布

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();
    }
    };
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM