2016-10-26 2 views
0

ЗАДАЧА: при нажатии кнопки - она ​​отключает кнопку, выполняет скрипт PHP. На основе возвращаемого значения PHP - я хочу выполнить одно из двух действий!jQuery выполнить скрипт php при нажатии кнопки и анализировать результаты?

1) если php возвращает «ОК», я хотел бы просто перезагрузить текущую страницу;

2) если php возвращает «NOTOK: NotOkText», я хотел бы заполнить #updateresult div NotOkText, Повторно нажав кнопку.

<button id="updatebutton" onclick="update_btn_click('params');">Execute PHP</button> 

И вот jQuery, который у меня есть до сих пор. Очевидно, что я почти не делаю то, что хочу. Он просто загружает DIV с выходом php, и он даже не дожидается при завершении загрузки (PHP попытается извлечь данные с другого сервера, это займет некоторое время) - он сразу же снова активирует кнопку.

function update_btn_click(param) { 

$('#updatebutton').prop("disabled",true); 
$('#updatebutton').text("Processing..."); 


$("#updateresult").load("/update.php"); 

//how to wait for result and analyse what has been returned? 

//act upon result 

$('#updatebutton').removeAttr('disabled');} 
+1

Вам нужно сделать Ajax запрос и обработать ответ внутри функции успеха. Дополнительная информация: http://api.jquery.com/jquery.ajax/ – LinkinTED

+0

пример поможет, спасибо – Maris

+0

Проверьте ссылку:/Примеры достаточно (на Google и SO также) – LinkinTED

ответ

0
function update_btn_click(param) { 
    $('#updatebutton').prop("disabled",true); 
    $.ajax({ 
     url:"update.php", 
     type:"post", 
     success: function(response){ 
      if(response=='Ok') { 
       location.reload(); 
      } else { 
       $("#updateresult").html('error'); 
       $('#updatebutton').prop("disabled",false); 
      } 
     }, 
     error: function(response){ 
      console.log('could not fetch data'); 
     }, 
     complete: function(response){ 
      // hide loading 
     } 
    }); 
} 

в update.php

if(action) { 
    echo 'Ok'; 
} else { 
    echo 'error'; 
} 
+0

Отлично, это именно то, что я искал, даст это испытание! Большое спасибо! – Maris

Смежные вопросы