zoukankan      html  css  js  c++  java
  • Rails后台,Firefox Addons前端,JS的AJAX调用

    最近要开发一个程序,需要用到firefox addons前端,利用js发起ajax请求,后端用rails完成。

    Firefox Addons材料很是庞杂,初入门者可能被xul, xpcom, fuel等这些名词完全搞的晕头转向,FF嫌这还不够乱,又推出它的addons builder,试图规范化Addons的开发,又给出两个名词概念:content js和extension js,如果你下载FF的SDK,例子居然都运行不了。

    不必崩溃,我们可以找几个开源的代码作为基础,这里我参考的是一个国人写的ff_nextpage(https://github.com/sylecn/ff_nextpage),利用这个作为框架,搭建我们自己的addons

    要想在addon里调用ajax,幸运的是ff既没有限制cross-domain,也没有限制ajax调用行为自身。这里需要注意的是:

    1、FF没有太多说明在Addons里如何实现AJAX,我暂且将其视为跟普通JS没有区别的调用

    2、当传递JSON DATA, POST给服务器的时候,需要同时设定content-type和accept两个头域

    var dataToServer = {city: "shenzhen", summaries:this.allLinks};

    var stringToServer = JSON.stringify(dataToServer);

    var postBack = new XMLHttpRequest();

    postBack.onreadystatechange =

        function(){

            if (postBack.readyState == 4) {

                    if (postBack.status == 200) {

                        // Success

                        return;

                    }

                    //alert(postBack.status); //once error found

            }

            };

     

       postBack.open("POST", SERVER, true, null, null);  

        postBack.setRequestHeader("Content-Type", "application/json;charset=UTF-8");

        postBack.setRequestHeader("Accept", "application/json");

     postBack.send(stringToServer);

    3、Rails天生就支持json,因此在服务器端没有什么太多要注意的东西。

    下次分享一下,如何搞定FF的Addons内存泄漏问题

     

  • 相关阅读:
    更改PHP配置文件php.ini解决xmlhttp的utf8乱码
    php 单引号 双引号 区别
    zend soap looks like we got no XML document
    使用UltraEdit32编辑器格式化源码功能 XML、Java、C/C++、C#
    php str_replace 单引号 双引号 区别
    PHP将XML文件转换成PHP数组
    简述PHP4和PHP5版本下解析XML文档的操作方法
    HowTo: Fix SimpleXML CDATA problem in php
    XML中 CDATA and PCDATA 的区别
    php 生成xml 的四种方式
  • 原文地址:https://www.cnblogs.com/mobileinternet/p/2543653.html
Copyright © 2011-2022 走看看