在PHP脚本端发送消息到jquery,用jquery打印到页面

On PHP script end send message to jquery, print to page with jquery

本文关键字:jquery 打印 消息 脚本 PHP      更新时间:2023-09-26

我有一个带有按钮的页面,当按下按钮时,通过jquery向PHP脚本发送ajax请求。此脚本使用这些变量运行。当这个PHP脚本完成后,我想向jquery函数发送一条消息,然后它打印出这个消息。目前我有:

$('button').click(function () {
    nombre = $('input').val();
    buttonz = $(this);
    buttonz.text('Loading...');
    request = $.ajax({
        type: "POST",
        url: 'administrator.php',
        data: {
            'method': buttonz.attr('id'),
            'results': nombre
        },
    });
    request.done(function (response, textStatus, jqXHR) {
        buttonz.text('Finished');
    });
});

我想从我的php脚本中回显一个varaible,而不是"finished"。

如果有任何错误,首先需要检查控制台错误,然后尝试在成功部分提醒响应尝试

$('button').click(function () {
    nombre = $('input').val();
    buttonz = $(this);
    buttonz.text('Loading...');
    $.ajax({
        type: "POST",
        url: 'administrator.php',
        data: {
            'method': buttonz.attr('id'),
            'results': nombre
        },
        success: function (data) {
                buttonz.text(data);
                // or use buttonz.val(data);
            }
        });
    });

您不能从jQuery中ECHO,因为这是PHP,并且服务器端脚本已经运行。您需要做的是将文本或html输入到现有元素中。

例如。。

在您的页面上(在ajax完成之前)创建一个带有空格的空白DIV来放置响应,即…

<div id="MyAnswerHere"></div>

然后在success区域的ajax调用中添加代码以插入答案。例如

$("#MyAnswerHere").html(response);

或者,如果只是文本,你可以使用。。。

$("#MyAnswerHere").text(response);

所以在你的代码中。。

$('button').click(function () {
    nombre = $('input').val();
    buttonz = $(this);
    buttonz.text('Loading...');
    request = $.ajax({
        type: "POST",
        url: 'administrator.php',
        data: {
            'method': buttonz.attr('id'),
            'results': nombre
        },
    });
    request.done(function (response, textStatus, jqXHR) {
        $("#MyAnswerHere").text(response);
        buttonz.text('Finished');
    });
});

并添加div以输入消息do,其中包含我们在DOM中选择的ID。

`<div id="MyAnswerHere"></div>`

只需将ajax的响应放入您的按钮

buttonz.text(response);

欢呼

您可以尝试这样的操作,当ajax成功时,它将更改按钮文本:

$('button').click(function () {
    nombre = $('input').val();
    buttonz = $(this);
    buttonz.text('Loading...');
    request = $.ajax({
        type: "POST",
        url: 'administrator.php',
        data: {
            'method': buttonz.attr('id'),
            'results': nombre
        },
        success: function (data) {
          buttonz.text(data);
        }
    });
});

buttonz.text('Finished');更改为:

buttonz.text('<?php echo json_encode(utf8_encode($your_Value))?>');

那么为什么不直接用php来回显变量呢??

更改按钮z.text("已完成");至:

buttonz.text('<?php echo $your_variable;?>');

变量的值将由PHP引擎解析,它将根据请求出现在HTML页面中。