JSONP

jQuery 中的JSONP

// Using YQL and JSONP
$.ajax({
    url: "http://query.yahooapis.com/v1/public/yql",
 
    // The name of the callback parameter, as specified by the YQL service
    jsonp: "callback",
 
    // Tell jQuery we're expecting JSONP
    dataType: "jsonp",
 
    // Tell YQL what we want and that we want JSON
    data: {
        q: "select title,abstract,url from search.news where query=\"cat\"",
        format: "json"
    },
 
    // Work with the response
    success: function( response ) {
        console.log( response ); // server response
    }
});

JQ这里的额设置容易引起混淆  dataType是jsonp

例子来源 https://learn.jquery.com/ajax/working-with-jsonp/

API http://api.jquery.com/jquery.ajax/

 

如果是指定了回调函数名 

dataType:"jsonp":

  • "jsonp": Loads in a JSON block using JSONP. Adds an extra "?callback=?" to the end of your URL to specify the callback. Disables caching by appending a query string parameter, "_=[TIMESTAMP]", to the URL unless the cache option is set to true.

 

 

另外还有两个参数可以配置

  • jsonp
    Type: String
    Override the callback function name in a JSONP request. This value will be used instead of 'callback' in the 'callback=?' part of the query string in the url. So {jsonp:'onJSONPLoad'} would result in 'onJSONPLoad=?' passed to the server. As of jQuery 1.5, setting the jsonp option to falseprevents jQuery from adding the "?callback" string to the URL or attempting to use "=?" for transformation. In this case, you should also explicitly set the jsonpCallback setting. For example, { jsonp: false, jsonpCallback: "callbackName" }
  • jsonpCallback
    Type: String or Function()
    Specify the callback function name for a JSONP request. This value will be used instead of the random name automatically generated by jQuery. It is preferable to let jQuery generate a unique name as it'll make it easier to manage the requests and provide callbacks and error handling. You may want to specify the callback when you want to enable better browser caching of GET requests. As of jQuery 1.5, you can also use a function for this setting, in which case the value of jsonpCallback is set to the return value of that function.

 

第一段  如果你的url有指定callback的名字 这里重写了  注意!  xxx=fun  变成了  valueYouSet=fun

第二段   指定回调函数

 

posted @ 2015-06-03 15:09  cart55free99  阅读(152)  评论(0编辑  收藏  举报