如何从PHP脚本中获取JSON变量
我有一个问题: 我有一个JS函数,它将数据发送到php脚本,然后php脚本从数据库查询返回JSON数据,我想从php脚本返回值如何从PHP脚本中获取JSON变量,php,jquery,ajax,json,Php,Jquery,Ajax,Json,我有一个问题: 我有一个JS函数,它将数据发送到php脚本,然后php脚本从数据库查询返回JSON数据,我想从php脚本返回值 <script type="text/javascript"> <!-- jQuery('#wysz2').submit(function() { var myData = { "rodzaj_konta": jQuery('#rodzaj_konta').val(),
<script type="text/javascript">
<!--
jQuery('#wysz2').submit(function() {
var myData = {
"rodzaj_konta": jQuery('#rodzaj_konta').val(),
"miejscowosc": jQuery('#miejscowosc').val()
};
jQuery.ajax({
url: 'http://somescript.php?action=results',
type: 'GET',
data: myData,
dataType: 'json',
beforeSend: function() {
jQuery('#loading').html('<p>loading...</p><img src="loading.gif" />'); //Loading image during the Ajax Request
},
error: function(xhr, textStatus, errorThrown) {
alert("Error: " + (errorThrown ? errorThrown : xhr.status));
},
contentType: "application/json; charset=utf-8",
success: function(data) {
alert(data);
}
});
return false;
});
//-->
</script>
当我试图提醒(数据)时,我总是得到一个空值
如何获取返回的JSON数据
编辑:
这很奇怪,因为我把发送方式改为POST
PHP返回JSON:
[{"nazwa":"Test","nazwa_firmy":"Testowa","ulica":null,"numer_domy":"2A","numer_mieszkania":"11","kod_pocztowy":"00-189","miejscowosc":"Warszawa","telefon":"213-123-132","nip":"112-312-31-31","regon":"231232133","adres_www":"http:\/\/www.gogl.epl","rodzaj_uzytkownika":"serwis"}]
但是我的jQueryAjax脚本仍然返回null
因此,我的脚本现在如下所示:
<script type="text/javascript">
<!--
jQuery('#wysz2').submit(function() {
var myData = {
rodzaj_konta: jQuery('#rodzaj_konta').val(),
miejscowosc: jQuery('#miejscowosc').val()
};
jQuery.ajax({
url: 'http://somedomain.com/skrypt.php?action=wyniki_wyszukiwania',
type: 'GET',
data: myData,
dataType: 'json',
contentType: "application/json; charset=utf-8",
jsonp: "jsoncallback",
beforeSend: function() {
jQuery('#loading').html('<p>ładowanie...</p><img src="loading.gif" />');//Loading image during the Ajax Request
},
error: function (xhr, textStatus, errorThrown) {
alert("Error: " + (errorThrown ? errorThrown : xhr.status));
},
success: function (data) {
alert(JSON.stringify(data));
console.log(data);
}
});
return false;
});
//-->
</script>
有什么想法吗?您正在构造变量,但根据定义,以错误的方式发送对象名称的分栏不存在 试试这个
var myData = {
rodzaj_konta: jQuery('#rodzaj_konta').val(),
miejscowosc: jQuery('#miejscowosc').val()
};
在提醒您的json数据时,请尝试
alert(JSON.stringify(your_json_obj));
尝试将结果通知对象 表示格式为{“responseCode”:“001”,“responseMsg”:“success”}
然后警报数据。如果ajax函数成功,请尝试以下方法
var objParams1=$.parseJSON(数据);
console.log(objParams1);
警报(objParams1.Testowa)
使用数据显示json字符串尝试使用控制台查看是否有任何错误,并开始使用console.log进行调试,而不是警报。URL未返回有效的json<代码>http://somescript.php看起来不太对头,如果这个问题刚刚被替换,您应该在问题中使用合理的示例以避免混淆。我已经更新了我的问题,因为这对我来说太奇怪了,为什么PHP返回JSON,而脚本返回null。
alert(JSON.stringify(your_json_obj));