$.ajax+;邮政+;JSON+;PHP=为什么不工作?
我现在在通过$.ajax、json和PHP发送和接收数据时遇到问题 我有我的JQM页面:$.ajax+;邮政+;JSON+;PHP=为什么不工作?,php,jquery,ajax,json,jquery-mobile,Php,Jquery,Ajax,Json,Jquery Mobile,我现在在通过$.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 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 -->
WGBN移动电话
埃斯塔·帕吉纳2号
&抄袭;2013年WGBN软件公司。
要运行此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;
});
});
$(document).delegate(“#json”,“pageinit”,function()){
$(“.manda”)。单击(函数(e){
$.ajax({
url:“json1.php”,
数据类型:“json”,
数据:{“opc”:“sim”},
成功:功能(数据){
var html=“”;
对于($i=0;$iNome:”+数据[$i]。Nome+”“+数据[$i]。SobreName;
html+=“Cidade:”+数据[$i]。Cidade
html+=“
”;
}
$(#mostra”).html(html);
}
});
返回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返回给clinte
一个重要的细节,如果我在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;
});
});
$(document).delegate(“#json”,“pageinit”,function()){
$(“.manda”)。单击(函数(e){
$.ajax({
url:“json1.php”,
数据类型:“json”,
/*数据:{“opc”:“sim”}*/
成功:功能(数据){
var html=“”;
对于($i=0;$iNome:”+数据[$i]。Nome+”“+数据[$i]。SobreName;
html+=“Cidade:”+数据[$i]。Cidade
html+=“
”;
}
$(#mostra”).html(html);
}
});
返回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页面中显示
如何让PHP识别通过JSON发送的数据?
这只是一个测试,因为要解决这个问题,我会将$.ajax的完整表单发送到PHP保存在数据库中,本例中的方法论帖子是必不可少的。尝试这样发送数据-
data : { opc : 'sim' },
并设置请求类型POST
type: 'post',
type: 'post',
尝试像这样发送数据-
data : { opc : 'sim' },
并设置请求类型POST
type: 'post',
type: 'post',
要将对象作为参数而不是字符串传递:
data : {opc: "sim"},
并将类型设置为POST:
要将对象作为参数而不是字符串传递:
data : {opc: "sim"},
并将类型设置为POST:
你忘了打字了。默认的ajax请求是get。但您正在检查php中的POST
你忘了打字了。默认的ajax请求是get。但是您正在检查php中的POST。您缺少
type
属性。.ajax的默认类型是get
,addtype:'post'
$.ajax({
url : "json1.php",
type: 'post',
dataType : "json",
data : '{"opc":"sim"}',
success : function(data){
您缺少
类型
属性。.ajax的默认类型是get
,addtype:'post'
$.ajax({
url : "json1.php",
type: 'post',
dataType : "json",
data : '{"opc":"sim"}',
success : function(data){
哇,我不相信是这样!非常感谢你!谢谢@roastedWow,我不相信是这样!非常感谢你!谢谢@roastedWow,我不相信是这样!非常感谢你!谢谢@pxlow,我不相信是这样!非常感谢你!谢谢@pxlow,我不相信是这样!非常感谢你!但也有如何传递参数对象的问题。其他同事在这里作出了回应。非常感谢。哇,我不相信是这样!非常感谢你!但也有如何传递参数对象的问题。其他同事在这里作出了回应。非常感谢。哇,我不相信是这样!非常感谢你!但也有如何传递参数对象的问题。其他同事在这里作出了回应。非常感谢。哇,我不相信是这样!非常感谢你!但也有如何传递参数对象的问题。其他同事在这里作出了回应。非常感谢。