Skip to content
A JSONP cross-domain request library
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist
examples
src
.browserslistrc
.eslintignore
.eslintrc.js
.gitignore
.npmignore
.prettierrc.js
.travis.yml
LICENSE
README.md
README.zh.md
babel.config.js
package.json
rollup.config.js

README.md

httpJsonp

Build Status npm version npm downloads npm license

A JSONP cross-origin request library

Features

  • Supports the Requests the Script
  • State callback
  • Cancel requests

Browser Support

Chrome Firefox Safari Opera Edge IE
Latest ✔ Latest ✔ Latest ✔ Latest ✔ Latest ✔ 7+ ✔

Installation

Using npm:

$ npm install --save http-jsonp

or Yarn:

$ yarn add http-jsonp

Using cdn:

<script type="text/javascript" src="https://unpkg.com/http-jsonp/dist/http-jsonp.min.js"></script>

Example

Performing a JsonpCallbck request

import httpJsonp from "http-jsonp";

httpJsonp({
  url: "/user",
  params: {
    ID: 123456
  },
  callbackProp: "callback",
  callback: function(data) {
    console.log("callback", data);
  },
  error: function(err) {
    console.log(err);
  },
  complete: function() {
    console.log("complete");
  }
});

Performing a script request

import httpJsonp from "http-jsonp";

httpJsonp({
  url: "/lodash.js",
  params: {
    v: "3.8.0"
  },
  load: function() {
    console.log("load", window._);
  },
  error: function(err) {
    console.log("error");
  },
  complete: function() {
    console.log("complete");
  }
});

httpJsonp API

Requests can be made by passing the relevant options to httpJsonp.

httpJsonp(options)

Request Options

{
  // `baseURL` will be prepended to `url` unless `url` is absolute.
  baseURL: "", // baseURL: "https://example.com/api/"

  // `url` is the server URL that will be used for the request.
  url: "", // url: "/jsonpdata"

  // `params` are the URL parameters to be sent with the request.(Includes Callback behavior)
  params: {},

  // `callbackProp` Specify which key in `params` is the callback behavior interface.
  // If a key value in `params` is specified, the specified value overrides the default random name of `callbackName`
  callbackProp: false, // default [false, callbackProp]

  // `callbackNamespase` Namespace before callback name
  // exmaple:
  //   "__httpJsonpCallback" = window.__httpJsonpCallback = {}
  callbackNamespase: "__httpJsonpCallback", // default

  // `callbackName` Callback name. (If not specified, a name is randomly generated)
  callbackName: "",

  // `timeout` specifies the number of milliseconds before the request times out.
  timeout: 60000, // default

  // script attribute
  scriptAttr: {
    type: "",
    charset: "",
    crossOrigin: null,
    async: true,
    defer: false
  },

  // Does the script tag remain when the request is completed.
  keepScriptTag: false,

  // callbackProp = "callback"
  // When callbackProp exists, A function to be called if the callback is triggered.
  callback: null,

  // callbackProp = false
  // When callbackProp is false, A function to be called if the request load complete.
  load: null,

  // A function to be called if the request fails.
  error: null,
  
  // A function to be called when the request finishes (after success and error callbacks are executed).
  complete: null
}

License

MIT

You can’t perform that action at this time.