php - 如何将参数传递给 php 页面而无需加载它

标签 php mysql html google-maps

如何在不打开 php 页面的情况下将参数从 html 页面 (map.html) 传递到 php(createxml.php)?我将 googlemaps 合并到 html 页面(map.html)中,所以我希望用户在 html 页面上的表单上输入数据,这些数据将被发送到 php(createxml.php),后者将连接到 mySQL 数据库并创建 xml 格式响应的 html 页面使用此 xml 输出在 map 上创建位置,因为它包含经度和纬度。 我在 php 页面 (createxml) 的标题中使用了以下代码,但它会短暂显示 php 文件的内容,将我重定向到 map.html 感谢您抽出时间,如果需要,我可以发布所有代码。

      <meta http-equiv="refresh" content="0;url=http://localhost/map.html/"> 

最佳答案

使用 AJAX 非常简单,使用 jQuery 你不需要知道太多:) 所以只需导入最新的 jQuery Library .

然后你有你的表格:

<form id="my_form">
<input type="text" name="param1" />
<input type="text" name="param2" />
<input type="hidden" name="action" value="do_stuff" />
<input type="submit" value="Submit" />
</form>

在下面的某处,您只需粘贴这个微小的 javascript 函数,它处理表单的提交:

<script>
  $('#my_form').submit(function(){
    var post_params = $('#my_form').serialize();
    $('#waiting').show();
    $.post('the_page_you_are_on.php', post_params, function(data) {
      $('#waiting').hide();
      return false;
    })
  });
</script>

(ID 为“waiting”的元素 (div, p...) 可以例如包含那些花哨的 ajax 加载图像之一,但不是必需的!:) 如果您想要显示一个,请通过 google 查找一个,将其设置为#waiting-element 的背景图像并将其显示设置为无(CSS))。

该函数本身只是调用您所在的页面,然后您在后置数组中获得了表单变量,因此您的页面顶部可能看起来像这样:

<?php

if(isset($_POST['action'])) {
  switch($_POST['action']) {
    case 'do_stuff' :
      $param1 = $_POST['param1'];
      $param2 = $_POST['param2'];

      //do some DB-stuff etc.
    break;
  }
}

?>

希望对您有所帮助!

关于php - 如何将参数传递给 php 页面而无需加载它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6782983/

相关文章:

html - Videojs 仅添加播放控件

javascript - 链接跳转到顶部和底部但平滑滚动不起作用

php - MySQL "no database selected"

php - 递归地应用 array_map(array_walk_recursive?)

php - SQL查询使值单调?

php - 为什么给 mysqli_query 时换行符消失了?

php - Laravel 4,如何访问反向一对多关系?

mysql - db.Save()成功后如何查询关联

javascript - 获取文本字段中的选择值以及更改时的值

javascript - 如何在生成的 contentEditable div 的顶部和底部附加固定的不可编辑内容?