我需要通过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');
}
});
但仍然没有任何反应。
答案 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
}
});