前端直接提交form表单的数据:$('#ftrForm').serialize() 当使用jsonp时,使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
$.getJSON("http://www.test.com/index.php/topic/BlueCollar2016?"+$('#ftrForm').serialize()+"&callback=?",
function(data) {
if(data.id == -1){
alert("您还未登录,请先登录!");
} else {
alert("留言成功!");
}
});
后台php处理:
RequestUtils::strFilter('message','mobile','qq');
extract($_REQUEST, EXTR_SKIP);
$message2 = iconv('utf-8','gbk',$message);
$callback = $_GET['callback']; // 必须添加,否则前端success无法回调
if (!$_SESSION['userUserID']) {
echo $callback.'('.json_encode(array ("id"=>"-1")).')';
exit;
}
$con = Propel::getConnection();
$time = strtotime("now");
$sql = "insert into t_card_free_apply (flag, work, mobile, name, select1, save_time) values ('BlueCollar2016','" .$message2."', '".$mobile."' ,'" .$qq."','" .$_SESSION['userUserID']."',$time)";
$rs1 = $con->executeQuery($sql);
echo $callback.'('.json_encode(array ("id"=>"1")).')';//返回格式,必需
exit;