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内存泄漏问题

     

  • 相关阅读:
    第二次冲刺周期站立会议(3)
    第二次冲刺周期站立会议(2)
    第二次冲刺周期站立会议(1)
    测试计划
    对各组第一次冲刺周期的评价
    团队绩效评估计划
    学校网站UI设计分析
    站立会议(10)
    Bower和Gulp集成前端资源
    Laravel的学习网站推荐
  • 原文地址:https://www.cnblogs.com/mobileinternet/p/2543653.html
Copyright © 2011-2022 走看看