ホームページ  >  記事  >  バックエンド開発  >  PHPでAjax投稿フォームを受信するにはどうすればよいですか?

PHPでAjax投稿フォームを受信するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-23 13:59:33997ブラウズ

a.html
var params=$("#form1").serialize();
$.ajax({
type: "post",
contentType: "application/text",
data:params,
dataType:"json",
//dataType: "binary",
async: false,
timeout : 30000,
url: '1.php',
success: function(data){
//处理データデータベース
var s = eval(data);
alert(s.a+' '+s.b)
}、
error: function(x, e) {
// alert(x.readyState)

});
-----------------------------
1.php
$db = new mysqli('localhost ','adb','winst','test');
mysqli_query($db, "set 文字セット 'utf8'");
$arr = $_REQUEST;  
$vnameid =$arr['ユーザー名'];
$vtele =$arr['電話'];
$query = "INSERT INTO cardvip(namevip,tel) VALUES ('"+$vnameid+"','"+$vtele+"')";
$db->クエリ($クエリ);

$data = json_encode(array('a'=>$vnameid, 'b'=>$vtele)); 
$data をエコー;
?>

如果用$vnameid ='ユーザー名';
$vtele ='電話';
1.html alert(s.a+' '+s.b); 正确表示可能。

はポストデータを受信できません

返還(解決策)

注释掉 dataType: 「json」

アラート( s.a+' '+s.b); アラート(データ)の変更;


1.php
print_r($_POST);
終了;

この変更により実行调试


注释掉 dataType:"json"

alert(s.a+' '+s.b); アラート(データ)の変更;


1.php
print_r($_POST);
終了;

この変更を使用して调试を実行します

返される回数据问题、
$arr = $_REQUEST;  
$vnameid =$arr['ユーザー名'];
$vtele =$arr['電話'];
我的意思是$vnameid 获得不到投稿データ

$vnameid =$arr['username'];取不到值?

$vnameid =$arr['username'];取不到值?

場合は a.html で URL: '1.php?'+params を使用します。


你按我说的做了吗?

a.html var paraミリ秒=$("#form1").serialize();
$.ajax({
type: "post",

contentType: "application/text",

data:params,

async: false,

timeout: 30000,
url: '1.php',
成功: 機能(data){
//处理データデータ
alert(data); },
error: function(x, e) {
// alert(x.readyState);
アラート(e);
}
}) ;
-----------------------------------
1.php
$arr = $ _リクエスト;  
$vnameid =$arr['ユーザー名'];
$vtele =$arr['電話'];
echo $vnameid;
?>

これは投稿値に取得できません

contentType: "application/text",
これを削除します。これには MIME がありますか?

contentType: "application/text" を削除します、

OK、contentType: "application/text" を削除してください

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。