php - 在 AJAX 中执行带有变量参数的 php 脚本?

标签 php mysql ajax background

我希望能够在 onclick 状态下执行 php 脚本,但每个页面都可以有多个按钮,每个按钮都有不同的要发送的操作。我想要执行脚本,但我不想更改页面。

这是执行 UDP 客户端以更改远程框中的设置。每个按钮向不同的板发送不同的操作,实际上我需要向脚本发送 2 个参数。

像这样我需要发送:set_states.php?ip=xxx.xx.xxx.xx&cmd=CR1

感谢您的帮助!

最佳答案

URL 是什么并不重要。重要的是您使用的是什么 HTML 动词(get、post、delete、put)和您返回的内容类型。 URL 可以是任何内容。我只是使用一些像 jquery 这样的 js 库。查看他们的 $.get、$.post、$.ajax 函数。

如果您不使用 js 库,那么您需要考虑各种浏览器的所有差异。通常情况下,它是这样的:http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first

在您的情况下,我会使用 jquery(因为它会让您非常快速地开始)。由于您的变量在 url 中,并且您没有发送任何其他数据,您将使用 get。通常对于 mutators 你应该使用 post。我认为这对你来说并不重要。将以下脚本拖放到您的网页上(根据需要进行更改):

<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script>
$(function(){
    $('#the-id-of-your-button').live('click',function(){
        $.get('set_states.php?ip=xxx.xx.xxx.xx&cmd=CR1',function(return){
           alert('success');
        });
    });
});
</script>

第一部分:$('#the-id-of-your-button').live('click' 在某种意义上观察浏览器,看看是否有匹配的元素出现,给它们绑定(bind)一个点击事件。从某种意义上说,Live 主动等待 dom 更改。Click 是处理程序,$('#the-id-of-your-button') 是选择器。下一部分:

function(){
        $.get('set_states.php?ip=xxx.xx.xxx.xx&cmd=CR1',function(return){
               alert('success');
        });
    });

是点击事件发生时发生的事情。我们称之为匿名函数。可以改写为:

function onButtonClick(){
        $.get('set_states.php?ip=xxx.xx.xxx.xx&cmd=CR1',function(return){
               alert('success');
        });
    });
    $('#the-id-of-your-button').live('click',onButtonClick());

或类似的东西,但这只是为了帮助您了解正在发生的事情。

下一部分:

$.get('set_states.php?ip=xxx.xx.xxx.xx&cmd=CR1',function(return){
           alert('success');
    });

是 ajax 请求和成功返回时要执行的函数。在这种情况下,它只会提醒我们。

还有:$(function(){}); 将所有内容包装起来,告诉我们在页面准备就绪时运行脚本。 Soooo 一旦页面准备就绪,我们将打开实时命令来监视按钮。你可能不需要它(我知道在某些情况下它并不重要,但我把它放在那里以防万一)。

您可能需要稍微调整一下 :)。

关于php - 在 AJAX 中执行带有变量参数的 php 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8981149/

相关文章:

javascript - 鸭子打字与类型杂耍

php - 是否可以在 Laravel asset() 函数中添加 cdn.mydomain.com/assets ?

php - 处理重音字符

javascript - 显示结果后清除 PHP 计算器屏幕

javascript - AJAX 上传显示多个文件上传中唯一文件的进度

php - 使用新表将 csv 加载到 MySQL 中

mysql - 内部加入和删除在 mysql 中不起作用

php - 数据库更新 - 找不到列 laravel

javascript - 使用 jquery ajax 的多个操作

javascript - 解析包含带函数的序列化对象的 HTTP 响应