簡體   English   中英

MooTools JSON請求

[英]MooTools JSON request

嘗試使用MooTools Request.JSON獲得一個非常簡單的請求。 從頭開始構建它沒有成功之后,我從某個地方舉了一個例子,慢慢地將其削減到最低限度,然后又放回了自己的頁面。 唯一更改的是URL和元素ID,但無濟於事。

任何幫助,想法,將不勝感激。

json.php

<?php
$result['name'] = 'yay';
header('Content-type: application/json'); 
echo json_encode($result);
?>

demo.js(window.addEvent('domready',function(){)內部的代碼段

 $(document.body).getElement('input[id=game_name]').addEvents({
  'keydown' : function(){
   alert('hmm'); //this fires
   var jsonRequest = new Request.JSON({
    url: "json.php", 
    onComplete: function(result){ //changing to onSuccess kills everything afterwards
     alert('result.name'); //this fires
     alert(result.name); //this does not fire
     alert('result.name'); //this does not fire
    }
   }).get();
  }
 }); 

PS。 在我的頁面或精簡的示例頁面中,我都無法僅在事件內部獲得發送到domready的請求。 這是為什么?

再次感謝


事實證明,問題在於我不小心將同步的重復文件加載到了瀏覽器中,因此(顯然)無法執行任何服務器端操作。

非常感謝您的幫助。

幾個建議/問題:

  1. 您在網絡瀏覽器的控制台中是否遇到任何錯誤? 您正在使用哪個網絡瀏覽器? 第三個警報根本不會觸發的事實表明該alert(result.name); 引發錯誤,在這種情況下,所有進一步執行將停止,並且錯誤將出現在瀏覽器的控制台上。

  2. 當您說“更改為onSuccess之后會殺死所有內容”時,您的意思是什么? 向下執行的代碼(即上述代碼段中未包含的代碼)是否永遠不會執行? 還是onSuccess永遠不會觸發?

  3. json.php與運行此腳本的頁面位於同一目錄中嗎? 嘗試更換json.phpurl: "json.php"以絕對URL( /mydirectory/json.phphttp://www.mywebsite.com/mydirectory/json.php ),看看這是否工作。

如果有幫助,則以下代碼將導致警報顯示“是”(在本地服務器上運行; json.php是一個包含您問題中的PHP代碼的文件):

var jsonRequest = new Request.JSON({
    url: "json.php",
    onSuccess: function(result) {
        alert(result.name);
    }
}).get();

完全相同的問題在這里。 我通過解碼作為參數(而不是預期對象)給出的JSON字符串解決了該問題。

onSuccess: function(jsonString) {
    console.log(JSON.decode(jsonString));
}

在這里找到文檔: http ://mootools.net/docs/core/Utilities/JSON#JSON: decode

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM