简而言之,我的AJAX函数POST用户输入到PHP文件,该文件使用POST数据与cURL合作,将成功的变量返回给ajax。
然而,即使变量为空,ajax总是会收到200 OK HTTP代码,这会导致我的脚本崩溃。
发生在5次中的1次。很难成为第五个人,但你要做的就是再次按下按钮,它通常不会连续发生。
---问题--- 有没有办法让cURL在POST回到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 CODE ---
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 :(得分:0)
我需要做的就是在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();
}
};
);