通过javascript调用php函数

时间:2013-05-02 09:11:04

标签: php javascript ajax

好的,我正在尝试测试这个jQuery。我想从ajax运行我的其他php文件。

<script type="text/javascript">

var switchOn = function() {
  $.ajax({
    url: '../remote/test.php',
    type:'POST',
    dataType:'text',
    data: {test: 'Hello there!'},
    success: function(data) {
      document.write(data);
    }

  });
}


//Button functions

function changeState1()
{
    if(window.document.myform.switch1[0].checked){
            window.document.myform.switch1[1].checked = true;
            document.myform.changeStateButton1.value = "Turn On";
            switchOn();

    }else{
            window.document.myform.switch1[0].checked = true;
            document.myform.changeStateButton1.value = "Turn Off";
        switchOn();

    }
}

function changeState2()
{
    if(window.document.myform.switch2[0].checked){
            window.document.myform.switch2[1].checked = true;
            document.myform.changeStateButton2.value = "Turn On";


    }else{
            window.document.myform.switch2[0].checked = true;
            document.myform.changeStateButton2.value = "Turn Off";

    }
}

function changeState3()
{
    if(window.document.myform.switch3[0].checked){
            window.document.myform.switch3[1].checked = true;
            document.myform.changeStateButton3.value = "Turn On";


    }else{
            window.document.myform.switch3[0].checked = true;
            document.myform.changeStateButton3.value = "Turn Off";

    }
}

function changeState4()
{
    if(window.document.myform.switch4[0].checked){
            window.document.myform.switch4[1].checked = true;
            document.myform.changeStateButton4.value = "Turn On";


    }else{
            window.document.myform.switch4[0].checked = true;
            document.myform.changeStateButton4.value = "Turn Off";

    }
}


</script>

<form name="myform" action="index.php?p=remotecontrol" method="POST">
<b>On/Off</b>
<br>
Switch 1
<br>
<input type="radio" name="switch1" onClick="window.document.myform.switch.value = 'On'">
<input type="radio" name="switch1" onClick="window.document.myform.switch.value = 'Off'">
<input type="button" id="changeStateButton1" name="changeStateButton1" value="Turn On" onClick="changeState1()">
<br>
Switch 2
<br>
<input type="radio" name="switch2" onClick="window.document.myform.switch.value = 'On'">
<input type="radio" name="switch2" onClick="window.document.myform.switch.value = 'Off'">
<input type="button" id="changeStateButton2" name="changeStateButton2" value="Turn On" onClick="changeState2()">
<br>
Switch 3
<br>
<input type="radio" name="switch3" onClick="window.document.myform.switch.value = 'On'">
<input type="radio" name="switch3" onClick="window.document.myform.switch.value = 'Off'">
<input type="button" id="changeStateButton3" name="changeStateButton3" value="Turn On" onClick="changeState3()">
<br>
Switch 4
<br>
<input type="radio" name="switch4" onClick="window.document.myform.switch.value = 'On'">
<input type="radio" name="switch4" onClick="window.document.myform.switch.value = 'Off'">
<input type="button" id="changeStateButton4" name="changeStateButton4" value="Turn On" onClick="changeState4()">
<br>

</form>

这是我的其他php文件。

<?php
item1 = $_REQUEST['test'];

    echo $item1;


?>

我确信代码可以访问ajax函数,但是我的页面上没有任何内容。应该有来自其他php文件的回声。 test.php位于Sites / remote中,与第一个文件位于同一目录中。我试过网址&#39; ../ test.php&#39;和&#39; ../ remote / test.php&#39;。没有差异......

2 个答案:

答案 0 :(得分:0)

从您发布的代码中看来,您已声明了PHP函数,但您从未调用它们。

在你的php文件中你也应该有类似的东西:

if (isset($_GET['switch']))
{
    $switch=$_GET['switch'];
    if ( "something" == $switch )
    {
        setSwitchOn($switch);
    }
    else
    {
        if ( "something else" == $switch )
        {
            setSwitchOff($switch)
        }
        else
        {
            // some other code
        }
    }
}

答案 1 :(得分:0)

callPage('setSwitch.php?switch='+targetSwitch ....

callPage('remote/setSwitch.php?switch='+tar ....

你有2个setSwitch.php,1个在远程,1个在同一个文件夹

switch='+targetSwitch,document.getElementById(targetId)

只是传递targetId,而不是如何知道它或关闭..可能

switch='+targetSwitch,document.getElementById(targetId)+'&acrion=off'

function callPage(url, div){ //need 2 var