我正在尝试制作一个AJAX表单,以便在更新时更新twitter状态。我的表单目前正在使用php,但我不确定如何添加AJAX功能。
以下是表格:
<form id = "yourwhisper" method = "post" >
<label for="whisper">Enter your status update</label>
<textarea id="whisper" name="whisper" rows="2" cols="50" required></textarea>
<label class="error" for="whisper" id="whisper_error">Must be no more than 140 characters.</label>
<input id="lat" name="lat" style = "display:none"></input>
<input id="lon" name="lon" style = "display:none"></input>
<button type="submit" id = "submit">Pass it on</button>
</form>
这是我作为表单操作的php(它从twitter api库调用php函数)。我现在把它移到了form-manager.php:
$t->update($_POST["whisper"], false, $_POST["lat"], $_POST["lon"]);
最后,这是添加AJAX功能的jQuery代码。它接受更新的文本以及地理位置数据,并以'dataString'的形式将其传递给form-manager.php文件。
<script type="text/javascript" charset="utf-8">
$(function() {
$('.error').hide();
$(".submit").click(function() {
// validate and process form here
$('.error').hide();
var whisper = $("textarea#whisper").val();
var lat= $("input#lat").val();
var lon = $("input#lon").val();
if (whisper == "") {
$("label#whisper_error").show();
$("textarea#whisper").focus();
return false;
}
var dataString = 'whisper='+ whisper + '&lat=' + lat + '&lon=' + lon;
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "form-manager.php",
data: dataString,
success: function() {
// alert ("form sent");
});
}
});
return false;
});
});
</script>
我的问题是,如何让form-manager.php获取该信息并将其放入更新twitter所需的3个变量中?
答案 0 :(得分:1)
dataString应该可以作为$_POST['dataString']
用于PHP。它只是一个包含字符串的var。你应该explode。
或者,如果您愿意,可以设置像{ whisper: "Foo", lat: "fooLat" }
这样的ajax方法的数据属性,以便它们显示为$_POST['whisper']
和$_POST['lat']