【发布时间】:2011-09-17 23:48:26
【问题描述】:
我想从登录系统(从浏览器获取地理位置)发送 twitter 结果,我想将其发送到不同的 php 文件进行处理并将其发送到 mysql 数据库。
这是我的功能:
function twitterMarkers(lat, long) {
var returnLat = new Array(0);
var returnLong = new Array(0);
var returnTweet = new Array(0);
var returnTotal = new Array();
$.ajax({
dataType: 'jsonp',
url: 'http://search.twitter.com/search.json?&geocode=' + lat + ',' + long + ',1mi&rpp=100',
success: function(data) {
//console.log("hoi");
$.each(data.results, function(i, tweets) {
var tweetGeo = tweets.geo;
if (tweetGeo != null) {
// console.log(tweetGeo.coordinates[0]);
// return tweetGeo.coordinates;
returnTotal.push(tweetGeo.coordinates[0]);
returnTotal.push(tweetGeo.coordinates[1]);
returnTotal.push(tweets.text);
}
if (tweets.error) {
alert("error");
}
});
//console.log(returnTotal);
if (returnTotal.length > 1 ){
$("#jsondata").val(JSON.stringify(returnTotal));
console.log(document.getElementById("jsondata").value);
//return ;
}
}
});
};
我试图通过返回数据来创建一个数组,但我只得到一个空数组。我如何正确发送这个,因为我现在明白处理 ajax 数据需要一些时间。 然后我希望用户在找到位置数据后单击登录并使用此发送它:
<form id="postform" name="postform" action="inc/php/login.php" method="post" enctype="multipart/form-data" >
<div class="forminput">
<label for="title"><h5>Enter your name</h5></label><br />
<input type="text" id="name" name="name" value="<?php echo $name;?>" />
<input type="hidden" id="nameUser" name="nameUser" value="<?php setcookie("nameUserVal", $name);?>" /
<div class="forminput">
<input type="hidden" id="jsondata" />
<input type="submit" value="Login" />
我试过询问其他php文件中的数据,但是没有用:
$data = $_POST['jsondata'];
print_r($data);
【问题讨论】:
-
只想知道:(1) var_dump($_POST) 在您的其他 php 脚本中。 (2) 'jsondata' 提交前的隐藏值。你可以使用firebug来验证
-
array(7) { ["name"]=> string(7) "martijn" ["nameUser"]=> string(263) " " ["hiddenF"]=> string(0 ) "" ["ip"]=> 字符串(13) "00.00.00.00" ["city"]=> 字符串(6) "阿纳姆" ["long"]=> 字符串(6) "00.00.00.00" [ "纬度"]=> 字符串(7) "00.00.00.00" }
-
我已将我的地理数据替换为:00.00.00.00