AJAX - 根据PHP脚本的回复更改内容

时间:2013-07-23 13:22:28

标签: php jquery ajax

方案 我有一个页面,用户可以激活或停用该服务。我有一个按钮,其中显示了服务的当前状态。我通过php获取服务状态并在按钮文本的位置回显activeinactive来实现此目的。
问题我想让AJAX听取点击按钮。当用户点击active按钮时,AJAX应调用一个url,触发用户服务状态更改的更改并返回用户的当前状态。如果回复为active,我想将按钮中的文字更改为200,如果来自php的回复为inactive,我想将101更改为<{1}}。

我想在if-elseif-else样式语句中比较结果,如

    if(reply=='200')
       code-to-change-the-text-to-active;
    elseif(reply=='101')
       code-to-change-the-text-to-in;
    else
       alert(some-error);

我进行了多次搜索,但只找到了如何使用回复中的文字更改文字。但是,我想要一种方法来将回复作为变量获取并使用它来切换我的文本。

3 个答案:

答案 0 :(得分:1)

您需要将您的回复从PHP发送到JSON(使用json_encode($ reply)),然后,您的AJAX成功回调函数将以其可以使用的格式接收状态值。

答案 1 :(得分:1)

将以下代码格式与实际数据一起使用:

HTML

<input type="button" value="active" id="active">  

JS

$('#active').click(function () {  
       var status = $(this).attr('value'); // get the value of your button state
       var r = confirm("Are You Sure Change Status?");
       if (r==true){
          $.ajax({
             type: "POST",
             url: "YOUR URL",
             data:"{userstatus:status}",
             beforeSend : function () {

             },
             success:function(result){
                 //Do whatever you want with result//
             }
          });
       }else{
          return false;
       }
    });  

注意:当您点击活动按钮时,它会调用ajax函数并将您的实际url文件名放在url param中。然后在那里运行sql查询,结果会得到响应。

答案 2 :(得分:0)

快捷方式/快速。

<强> JS

function updateStatus(){

$.get('yourPHPCode/getStatus', function(data) ){
    $('#status').val(data);
}

}

<强> PHP

function getStatus(){   ...   echo $ status; }