使用jquery中的参数执行php代码

时间:2015-03-16 10:29:12

标签: php jquery ajax

我需要通过jQuery代码中的 $ _ POST 方法调用带有参数的php页面 page1.php ,而无需重新加载我打电话的页面,让& #39; s称之为 page0.php ..

所以这是我在 page0.php

中编写的代码
<img id="leftUp" src="/imagenes/cursor_1.png" width="52" height="52" ondragstart='return false;'/>

<div id="activity"style="text-align:left;position:relative;left:120px;">
   <h3 style="color: yellow;"></h3>
</div>

<script>

  var $level = 1;

  $("#leftUp").click(function()
  {
    var $hOffset = -5;
    var $vOffset = -5;

    $hOffset *= $level;
    $vOffset *= $level;

    $("#activity").text("Values h: " + $hOffset + " - v: " + $vOffset);

    event.preventDefault();
    $.ajax(
    { 
      url: "page1.php",
      method: 'POST',
      data: new FormData(this),
      params:
      {
        interrupt: '14',
        hOffset: $hOffset,
        vOffset: $vOffset
      },
      contentType: false,
      cache: false,
      processData: false,
      success: function(data)
      {
          alert('Success');
      },
      failure:function(transport)
      { 
        alert('Error');
      }
    });
  });
});

</script>

page1.php 的代码基本上是这样的:

<?php 
if(isset($_POST["interrupt"]))
{
    $interrupt = urlencode($_POST["interrupt"]);

    /* 
      write the interrupt number into the interrupt
      reference file
    */
    exec("echo '$interrupt' > $intFile"); 
}

if(isset($_POST["hOffset"]))
{
    $hOffset = urlencode($_POST["hOffset"]); 
}

if(isset($_POST["vOffset"]))
{
    $vOffset = urlencode($_POST["vOffset"]); 
}

/* other stuff here ... */

include("page0.php");
?>

我之前在帖子中做了类似的事情:&#39; Upload a file and reloading a div instead reloading a page&#39;,但我的代码根本不起作用。

div 活动的内容已成功更新,并且弹出窗口为成功&#39;显示了字符串,但似乎没有执行PHP代码。

问题应该是 $。ajax 块中的jQuery代码,但我不是一个经验丰富的网络程序员,所以我真的不知道如何解决这个问题。

非常感谢任何建议。 提前谢谢。

编辑:我修改了 ajax ,如下所示:

$.ajax(
{ 
  url: "page1.php",
  type: 'GET',
  data: 
  {
    interrupt: "14",
    hOffset: $hOffset,
    vOffset: $vOffset
  },
  contentType: false,
  cache: false,
  processData: false,
  success: function(data)
  {
      alert('Success');
  },
  failure:function(transport)
  { 
    alert('Error');
  }
});

但仍然没有任何反应。

1 个答案:

答案 0 :(得分:0)

你不需要

data:new FormData(this)

试试这个

 $.ajax(
    { 
      url: "page1.php",
      method: 'POST',
      data: 'interrupt=14&hOffset='+hOffset+'&vOffset='+vOffset,
success:function(response){
//do something
},
 failure:function(transport)
      { 
        //do something
      }
});