[英]Get json array from php to javascript with $.getJSON()
我有application.php頁面,其中json數組用php回顯。 在客戶端上,我想通過提交表單時提交的$ .getJSON()按鈕來獲取json數組(submitHandler)。 問題是,如果我在$ .getJSON()中運行alert()或console.log(),則什么都不會發生(我僅在控制台中看到GET執行)。
碼:
$.getJSON('../views/application.php', function(data) {
alert('alert1');
if(data) {
document.write(data.resp);
alert('alert2');
}
else {
alert('error');
}
});
GET http://localhost/app/views/application.php
您可以在腳本中使用var temp並將數據存儲在該變量中。
var x;
<script type="text/javascript">
x='<?php echo $comparisonResult; ?>';
</script>
聽起來像sessionStorage或cookie的用例。
我認為最好的方法是在第一個發布請求的響應中返回所需的服務器數據,如下所示:
$.post( "/first.php", function( serverData ) {
var param = serverData.something;
...
$.post( "/second.php", param, function( data ) {
...
});
});
如果在兩個不同的頁面中使用兩個請求,則可以將serverData存儲在localStorage中 。
澄清后進行編輯:
如果您需要在單擊按鈕時在ajax發布之前獲取數據,可以這樣做:
$("#second-button").click(function() {
$.getJSON("/data.php", function (serverData) {
var param = serverData.something;
$.post("/second.php", param, function(data) {
...
});
}
});
編輯2
由於某種原因(錯誤的url,無效的json等),您的$ .getJSON失敗。
試試這個進行調試:
$.getJSON("/data.php", function (serverData) {
console.log(serverData);
}).fail(function(j, t, e) {
console.error(e);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.