我正在进行这样的AJAX调用:
$( "#submit_jobs_preview" ).click(function(e) {
var postData = $('#new_job_form').serialize();
var formURL = "ajax.xxx.php";
$.ajax({
type: 'POST',
url: formURL,
data: {submit_jobs_preview: postData },
success: function(data){
alert(data);
}
});
e.preventDefault(); //STOP default actio
});
在php中我回音:
echo $_POST['submit_jobs_preview'];
这个$ _POST显示我在表单中正确放置的所有值,如下所示:
new_job_city=Berlin&new_job_name=Manager etc.
但是如果我想从这个$ _POST中获得一个$ _REQUEST:
if($_POST['submit_jobs_preview']){
echo $city = mysql_real_escape_string($_REQUEST['new_job_city']);
}
警报为空。
为什么? :)
先谢谢!
更新
完整的数据返回:
XHR Loaded (autocomplete.php - 200 OK - 105.99994659423828ms - 354B) VM2106:3
new_job_city=Halle&new_job_job=Flugbegleiter&new_job_other_job=&job_zielgruppe=Auszubildende&new_job_phone=4921663965439&new_job_email=kleefeld%40dsc-medien.de&new_job_detailhead=F%C3%BCr+unser+zentrales+Marketing+mit+Sitz+in+der+Hauptverwaltung+in+der+City+von+D%C3%BCsseldorf+suchen+wir+zum+n%C3%A4chstm%C3%B6glichen+Termin+eine%2Fn&new_job_time=Vollzeit&teilzeit_std=&new_job_tasks=&new_job_profile=&new_job_advantage=&new_job_creatorId=1&new_job_creationDate=1390569795&new_job_scope=Airport+Service&new_job_niederlassung=7&new_job_active=0
答案 0 :(得分:0)
$ _ POST ['submit_jobs_preview']包含一个字符串而不包含任何其他内容,因此您无法以这种方式访问它。使用parse_str()反序列化$ _POST ['submit_jobs_preview']。这样你就可以访问它的属性了。
$_POST['submit_jobs_preview']['new_job_city']
答案 1 :(得分:0)
如果没有必要,您无需使用{submit_jobs_preview: postData }
。我会再给你一个提示。使用以下ajax;
$( "#submit_jobs_preview" ).click(function(e) {
var postData = $('#new_job_form').serialize();
var formURL = "ajax.xxx.php";
$.ajax({
type: 'POST',
url: formURL,
data: postData,
success: function(data){
alert(data);
}
});
e.preventDefault(); //STOP default actio
});
并在php方面;
if($_POST['new_job_city']){
echo $city = mysql_real_escape_string($_REQUEST['new_job_city']);
}
在这种情况下,您可以直接使用字段名称。
另一个提示:
您可以在表单上添加隐藏值,例如
<input type="hidden" name="submit_jobs_preview" value="true"/>
和js方面在我的回答中将如上所述,并且在php方面你可以检查;
if($_POST['submit_jobs_preview']){
echo $city = mysql_real_escape_string($_REQUEST['new_job_city']);
}
如您所见,您可以将您的帖子值作为隐藏字段发送并进行检查