douliedai4838 2010-11-29 22:37
浏览 36
已采纳

json从drupal api中逃脱,在常规的php环境和jquery中使用

I found this nifty plugin that lets me create dashboard widgets from external files.

http://civicactions.com/blog/2009/feb/22/jquerydashboard_plugin#comments

the only problem is that its build around jquery 1.3.2 and I'm stubborn and want to use 1.4.4

The plugin still works with the latest jquery but it looses the functionality to load in the external widget content via the json call.

Well, I take that back it does load the content BUT with now a new exception. The content cannot contain <. >, & or else it will not parse correctly and not load.

In the ajax file for this plugin is this function that I think is the culprit.

// Taken from http://api.drupal.org/api/function/drupal_to_js/7 (GPL 2)
function to_js($var) {
    // json_encode() does not escape <, > and &, so we do it with str_replace()
    return str_replace(array("<", ">", "&"), array('\x3c', '\x3e', '\x26'), json_encode($var));
}

this takes in the data and passes it back, but as of 1.4.4 it won't work, I have no idea why. Is there an alternative way to do this? If i comment out this function then the widgets won't load all together regardless if it contains characters it doesn't like.

As an example:

jquery 1.3.2 parses

<p>Hello World</p>

jquery 1.4+ will only parse

Hello World (if I include the <p></p> then it won't load)
  • 写回答

2条回答 默认 最新

  • donglankui1263 2010-12-07 15:23
    关注

    You can rewrite or ask to the plugin developer to update the plugin. In order to do it yourself take a look first at Release Notes for all 1.4+ versions in order to check what was modified mainly in the ajax function. The complexity of your problem can range from very simple to very complex. You may even discover some bug that you will want to report back to jQuery.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料