我有一个表单将一些数据发布到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.";
}
});
}
答案 0 :(得分:1)
@ user547794:只是......作弊。
<form id="form1" name="form1" method="post" action="catchprocess.php?action=whatever">
您可以通过这种方式发送POST
和GET
数据。 : - )
答案 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调用可能已将所有调用的数据添加到某个数据库中(我实际上并不知道它的作用)。如果是这样,那么您可以从存储位置读取所有数据,并获取所有记录的位置。