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

     

  • 相关阅读:
    【原】OpenEdx平台安装及出错解决方案
    【转】R语言中的并行计算——搭建R的集群
    【转】机器学习中的相似性度量
    A--Scikit-Learn入门
    A--最近邻分类器-KNN
    A--K-Means快速聚类
    A--无监督学习算法示例: DBSCAN(聚类)
    A-无监督学习算法示例:层次聚类
    A-岭回归的python'实现
    A--利用梯度下降求解逻辑回归的python实现
  • 原文地址:https://www.cnblogs.com/mobileinternet/p/2543653.html
Copyright © 2011-2022 走看看