使用Jquery将数据从javascript传递到php

也许之前已经问过这个问题,但我正在努力做到这一点。 我有一个PHP文件,其中不包含任何PHP代码(可能在将来),它只包括javascript和一些HTML。 我想要做的是点击这个php文件中的一个按钮,将一些数据发送到另一个php文件。 这样说吧..

1 – 我在a.php中有一个saveProfile函数,一个按钮正在调用这个函数

function saveProfile (){ var variableD = 'sample data'; $.post("dbConn.php", { js: variableD}); } 

2 – 我有另一个名为dbConn.php的php,它接收数据并存储在数据库表中。

我找到了很多例子。 我已经应用了它们但它仍然不起作用并且让我疯狂。 我是一个java程序员,但在php中是新的。 感谢任何帮助。请给我一些干净的示例代码,或者如果您发现任何错误,请提醒我。 感谢所有提前…

问候。 Ozlem。

看一下“ Javascript Post Request like a Form Submit ”的接受答案 。

它提供了javascript for:

 function post_to_url(path, params, method) { ... } 

我想这会做你想要的。

感谢所有的答案。 我已经解决了这个问题。 数据已通过,但我无法正确处理。 我只是添加一个虚拟代码来测试它。它工作。 我完成后会上传代码。谢谢所有人。

这个函数在PHP文件中,但是充满了JS代码。 最后一行将数据传递给另一个PHP文件,该文件将数据保存到数据库中。

  function saveProfile (){ var _profileId = 0; var _profileName = document.getElementById('nameProfile').value; var queryArr=[]; $(markersArray).each(function (index){ //alert(markersArray[index].name); var _locationId = index; var _locName = markersArray[index].name; var _markerLat = markersArray[index].marker.getLatLng().lat(); var _markerLng = markersArray[index].marker.getLatLng().lng(); var locations = { profileName: _profileName, locationId:_locationId, locationName:_locName, lat:_markerLat, lng:_markerLng } queryStr = { "locations": locations} queryArr.push(queryStr); }); /*for ( var i=0; i 

这是dbConn.php,由saveProfile方法调用。 数据处理如下:

  $db_host = 'localhost'; $db_user = 'root'; $db_pass = ''; $db_name = 'google_map_db'; $opType = $_POST['opType']; //SAVE PROFILES WITH A PROFILE NAME if(!strcmp($opType, "saveAsProfile") ){ $res = $_POST['data']; $connect = mysql_connect( $db_host, $db_user, $db_pass ) or die( mysql_error() ); mysql_select_db( $db_name ) or die( mysql_error() ); $queryString = ""; for($i = 0; $i < sizeof($res); $i++){ $profileName = $res[$i]['locations']['profileName']; $locationId = $res[$i]['locations']['locationId']; $locationName = $res[$i]['locations']['locationName']; $lat = $res[$i]['locations']['lat']; $lng = $res[$i]['locations']['lng']; $sp = " "; $queryString = $queryString . "(0 ".",'".$profileName."',".$locationId.",'".$locationName."',".$lat.",".$lng.") "; if($i