繁体   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