$.ajax、json、および PHP を介してデータを送受信する際に問題が発生しています。
私は自分のページJQMを持っています:
<div data-role="page" id="json">
<div data-role="panel" id="painelMenu">
<div data-role="content">
<a href="index.html" data-role="button">Voltar</a>
</div>
</div>
<!-- /panel -->
<div data-role="header" data-position="fixed">
<h1>WGBN Mobile</h1>
</div>
<!-- /header -->
<div data-role="content">
<p>Esta é a página 2.</p>
<p><a href="#painelMenu" data-role="button">painel</a></p>
<p><a href="#" data-role="button" class="manda">Manda</a></p>
<hr>
<div id="mostra"></div>
</div>
<!-- /content -->
<div data-role="footer" data-position="fixed">
<h4>© 2013 WGBN Software House.</h4>
</div>
<!-- /footer -->
</div>
<!-- /page -->
この JavaScript を実行するには:
$(document).delegate("#json", "pageinit", function() {
$(".manda").click(function(e) {
$.ajax({
url : "json1.php",
dataType : "json",
data : '{"opc":"sim"}',
success : function(data){
var html = "";
for($i=0; $i < data.length; $i++){
html += "<strong>Nome:</strong> "+data[$i].nome +" "+ data[$i].sobreNome;
html += " <strong>Cidade:</strong> "+data[$i].cidade
html += "<br />";
}
$("#mostra").html(html);
}
});
return false;
});
});
そして、私のサーバー上のこのPHPスクリプト:
<?php
if ($_POST['opc'] == "sim"){
$var = Array(
array(
"nome"=>"João",
"sobreNome"=>"Silva",
"cidade"=>"Maringá"
),
array(
"nome"=>"Ana",
"sobreNome"=>"Rocha",
"cidade"=>"Londrina"
),
array(
"nome"=>"Véra",
"sobreNome"=>"Valério",
"cidade"=>"Cianorte"
));
echo json_encode($var);
}
?>
しかし、PHP に送信されたデータを読み取ることができないため、サーバー上でコードを実行し、JSON を clte に返すことができます。
javascrpt で次の行にコメントすると、重要な詳細が表示されます。
$(document).delegate("#json", "pageinit", function() {
$(".manda").click(function(e) {
$.ajax({
url : "json1.php",
dataType : "json",
/*data : '{"opc":"sim"}',*/
success : function(data){
var html = "";
for($i=0; $i < data.length; $i++){
html += "<strong>Nome:</strong> "+data[$i].nome +" "+ data[$i].sobreNome;
html += " <strong>Cidade:</strong> "+data[$i].cidade
html += "<br />";
}
$("#mostra").html(html);
}
});
return false;
});
});
そしてPHPのこれらの行:
<?php
//if ($_POST['opc'] == "sim"){
$var = Array(
array(
"nome"=>"João",
"sobreNome"=>"Silva",
"cidade"=>"Maringá"
),
array(
"nome"=>"Ana",
"sobreNome"=>"Rocha",
"cidade"=>"Londrina"
),
array(
"nome"=>"Véra",
"sobreNome"=>"Valério",
"cidade"=>"Cianorte"
));
echo json_encode($var);
//}
?>
私の通常の返品JQMページに表示されています。
JSON経由で送信されたデータをPHPに認識させるにはどうすればよいですか? これは単なるテストです。これを解決すると、$.ajax の完全なフォームが PHP に送信され、データベースに保存されます。この場合の方法論的な POST は必須です。