I code it

Code and Life

什么是JSONP及如何使用JSONP?

什么是JSONP及使用方式简介

普通形式的Javascript流程



function handler(data){
    console.dir(datamodel);
}

var datamodel = {
    name : "juntao",
    age : 28,
    address : "On the way home"
}

handler(datamodel);

将上边的代码分离开

On client side:

function handler(data){
    console.dir(datamodel);
}

On server side:


//in the real word application, those data
//may be generated by fetch data from database

var datamodel = {
    name : "juntao",
    age : 28,
    address : "On the way home"
}

//call
handler(datamodel);

What is going on?

客户端请求时,发送一个函数名,服务端负责生成对该函数的调用,比如:

http://server.domain/page.x?callback=functionName

服务器生成一个js文件:

functionName({
    //real data comes here.
});

而函数的实现则放在客户端,比如:

function functionName(data){
    if (data){
        //do something with the data
    }
}

这样在客户端看来,和之前的所有代码定义在本地的例子并无二致。但是这个却解决了跨域调用的问题。