PHP获取frm javascript数据 - 与表单POST结合使用?

时间:2010-12-23 22:28:28

标签: php google-maps

我有一个表单将一些数据发布到PHP处理脚本。我也在使用谷歌地图javascript,并希望将该表格数据传递给处理脚本。我必须通过GET(因为javascript是客户端)执行此操作,但表单操作必须是表单数据的POST。

我可以使用javascript变量数据对表单操作进行编码,以便像处理脚本一样使用GET吗?

以下是表单操作:

<form id="form1" name="form1" method="post" action="catchprocess.php">

如何将javascript数据传递给catchprocess.php(就像PHP GET方法一样?)

function saveData() {
      var name = escape(document.getElementById("name").value);
      var address = escape(document.getElementById("address").value);
      var type = document.getElementById("type").value;
      var latlng = marker.getLatLng();
      var lat = latlng.lat();
      var lng = latlng.lng();

      var url = "phpsqlinfo_addrow.php?name=" + name + "&address=" + address +
                "&type=" + type + "&lat=" + lat + "&lng=" + lng;
      GDownloadUrl(url, function(data, responseCode) {
        if (responseCode == 200 && data.length <= 1) {
          marker.closeInfoWindow();
          document.getElementById("message").innerHTML = "Location added.";
        }
      });
}

2 个答案:

答案 0 :(得分:1)

@ user547794:只是......作弊。

<form id="form1" name="form1" method="post" action="catchprocess.php?action=whatever">

您可以通过这种方式发送POSTGET数据。 : - )

答案 1 :(得分:0)

我不太清楚你想要做什么,但这里有一些可能会有所帮助的观察。

您不必使用GET客户端 - 您选择使用GDownloadURL来使用GET。如果您编写自己的xmlHttpRequest代码,它可以发出POST(或HEAD,PUT,DELETE和OPTIONS)。直接使用xmlhttprequest并不难(例如Goolge)。

正如您所写,您在名称,地址和类型中拥有的数据将传递给catchprocess.php。它将出现在$ _POST和$ _REQUEST。

如果要添加从marker.getLatLng获取的数据,只需使用javascript设置表单中某些隐藏字段的值。你的“提交”按钮必须调用一个javascript例程来设置这些值,然后才能在表单上调用submit。这将仅提供最后一组数据。

对phpsqlinfo_addrow.php的gDownloadURL调用可能已将所有调用的数据添加到某个数据库中(我实际上并不知道它的作用)。如果是这样,那么您可以从存储位置读取所有数据,并获取所有记录的位置。