0

我有这个没有表单的提交按钮..

<input type='submit' id='conx' name='X' value='TEST x'>

现在,当单击按钮时,我需要执行此代码。

$con = fopen("/tmp/myFIFO", "w");
fwrite($con, "XcOn");
close($con);

我如何在 jquery 和 ajax 中执行它?

$("#conx").click(function(){

//Execute this code
//$con = fopen("/tmp/myFIFO", "w");
//fwrite($con, "XcOn");
//close($con);

});

谢谢。

4

8 回答 8

1

使用 Ajax 将其发布到 PHP 页面并执行它们

$("#conx").click(function(){
  $.post("yourPHPPageWithMagicCode.php");
});

确保你在文件中有那个 PHP 代码yourPHPPageWithMagicCode.php

如果您想在处理完成后显示响应,您可以从您的 PHP 页面返回一些内容并让 $.post 的回调处理它。

在您的代码之后的 PHP 页面中,放置一个回显

echo "successfully finised";

现在更改 jquery 代码来处理回调

$("#conx").click(function(){
  $.post("yourPHPPageWithMagicCode.php",function(repsonse){
    alert(response);
  });
});
于 2012-10-31T16:41:25.807 回答
1

假设您的 PHP 文件名为write.php. 我相信你可以做到这一点:

  $("#conx").click(function() {
    $.ajax({
      url: "/write.php"
    });
  });
于 2012-10-31T16:42:05.343 回答
0

在 click 函数中添加如下内容以调用 PHP 脚本:

if (window.XMLHttpRequest){
    xmlhttp=new XMLHttpRequest();
}else{
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.open("GET", "URL/TO/PHP/SCRIPT",true);
xmlhttp.send();
于 2012-10-31T16:41:44.080 回答
0

您需要在单击事件块之间进行 jquery ajax 调用

$("#conx").click(function(){

    $.ajax({
        url: "phpfile.php",
        type: "post",
        //data: serializedData,
        // callback handler that will be called on success
        success: function(response, textStatus, jqXHR){
            // log a message to the console
           alert(response);
        }
    });

});

将您想要的任何代码放入 phpfile.php 文件中。

于 2012-10-31T16:42:37.230 回答
0

您需要在文档加载时加载“点击事件”,即:

$(document).ready(function($){
     $("#conx").click(function(){ .....
于 2012-10-31T16:43:45.857 回答
0

一种方法是

$("#conx").click(function(){
    $.post("PHPFILENAME.PHP",{
        whatdo:otherstuff
    },function(d){
        // return d here
    }
})

在 php 文件中运行您的代码。

于 2012-10-31T16:44:27.583 回答
0

您可以从按钮调用 javascript 函数:

<input type='submit' onclick="myFunction()" id='conx' name='X' value='TEST x'>

并在您的函数中加载页面:

function myFunction(){
    var loadUrl = "magic.php";  
    var result = $("#result").load(loadUrl);  
}

然后让 magic.php 运行你的方法:

//Execute this code
//$con = fopen("/tmp/myFIFO", "w");
//fwrite($con, "XcOn");
//close($con);

这都是未经测试的伪代码......

于 2012-10-31T16:45:15.693 回答
0

全部在一个文件中。

测试.php

<?php
if ($_POST['cmd'] === 'ajax') {
    $con = fopen("/tmp/myFIFO", "w");
    fwrite($con, "XcOn");
    fclose($con);
    exit;
}
?>

<!doctype html>
<head>
    <meta charset="utf-8">
    <title>meh</title>
</head>
<body>


<input type="submit" id="conx" name="X" value="TEST x">

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$(function(){
    $("#conx").bind('click', function(){
        $.post("test.php", { cmd: "ajax" } );
    });
});
</script>

</body>
</html>
于 2012-10-31T17:01:02.907 回答