【发布时间】:2014-01-24 13:16:36
【问题描述】:
我正在像这样进行 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
【问题讨论】:
-
你会发布所有ajax请求的post参数吗?或在此处粘贴 print_r($_POST)
-
我认为您不能通过这种方式访问。
-
好吧。你为什么不使用 $_POST['new_job_city'];而不是 $_REQUEST?
-
serialize创建一个 string 值,通过在发送时将其放入对象中,您也只能在服务器端获得一个字符串值。将serialize的结果直接作为data传递给您的AJAX 调用,然后您将获得根据表单字段命名的各个POST 参数。 -
@CBroe 怎么做?有链接吗?