如何在没有父页面刷新的情况下从jquery打开“获取”php窗口?

时间:2011-09-23 18:12:07

标签: php javascript jquery

我知道问题本身可能看起来有点模糊。让我详细说明一下。

我正在尝试将数据发布到由jquery控制的页面中的php文件中。

以下是我在jquery端的内容:

var openURL = "http://derp.com/restr/js/addfood.php?fname=" + encodeURI(food_n) + "&fcals=" + encodeURI(food_c);
window.open(openURL);

问题不在于它不会转到页面,问题是一旦执行代码,父页面就会重新加载。有没有办法防止这种情况发生?

2 个答案:

答案 0 :(得分:1)

您需要考虑使用jQuery's ajax() methods。它们具有特殊功能,这些功能将在加载PHP脚本的数据时运行,而无需刷新页面。

基本思想是使用像...这样的东西。

$.ajax({
  url: "file_to_load.php",
  data: {},
  success: function(data){
    //it worked!
    alert(data);
  }
});

...使用data对象来保存你的获取或发布参数。

答案 1 :(得分:0)

我相信您唯一的选择是将内容重新加载到当前页面。换句话说,整个第二页必须通过ajax替换原始页面。根据您想要的性能,您可以使用“display:none;”加载整个第二页。关闭蝙蝠,减去新内容,然后在ajax之后添加。或者传递“新页面”,当然减去任何不会改变的东西,用ajax并相应地替换。

我没有在内部和外部掌握ajax,所以可能有另一种方法,但我确定从未听说过。