这个JSONPurl为什么要这样写呢?
Why is this JSONP url written like this?
现在我正在尝试从 freecodecamp 进行随机报价生成器挑战。
但是,我在从网站上获取报价时遇到了很多麻烦
http://api.forismatic.com 由于 CORS ... 然后我偶然发现了某人的解决方案,但我不明白为什么他在 url.
的末尾包含了一个查询 jsonp=?
他创造了:
// Random Quote Generator
var url = "http://api.forismatic.com/api/1.0/?method=getQuote&key=457653&format=jsonp&lang=en&jsonp=?";
除了最后的 jsonp=?
之外,我都遵循了所有内容......
我知道必须有一个回调,我试图用 callback=?
替换它
但随后出现错误:
"Refuse to execute script from (data resource) because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled."
根据 http://forismatic.com/en/api/ 上的文档:
jsonp=<string> — callback function name, used for jsonp format only
所以他们只有一个 jsonp
参数,其他 API 使用 callback
.
完全相同的东西
因此给定 method=getQuote&key=457653&format=jsonp&lang=en&jsonp=?
,文字“?
”是 API 将 return 作为回调函数名称的内容:
$ curl "http://api.forismatic.com/api/1.0/?method=getQuote&key=457653&format=jsonp&lang=en&jsonp=?"
?({"quoteText":"I have done my best: that is about all the philosophy of living one needs.","quoteAuthor":"Lin-yutang","senderName":"","senderLink":"","quoteLink":"http://forismatic.com/en/475d78775d/"})
换句话说,参数名称“callback
”并没有什么神奇之处——没有强制要求必须使用参数名称的标准,因此任何 API 提供者都可以选择使用任何名称他们想要——正如 forismatic.com 为他们的 API 选择的那样。
现在我正在尝试从 freecodecamp 进行随机报价生成器挑战。 但是,我在从网站上获取报价时遇到了很多麻烦 http://api.forismatic.com 由于 CORS ... 然后我偶然发现了某人的解决方案,但我不明白为什么他在 url.
的末尾包含了一个查询jsonp=?
他创造了:
// Random Quote Generator
var url = "http://api.forismatic.com/api/1.0/?method=getQuote&key=457653&format=jsonp&lang=en&jsonp=?";
除了最后的 jsonp=?
之外,我都遵循了所有内容......
我知道必须有一个回调,我试图用 callback=?
替换它
但随后出现错误:
"Refuse to execute script from (data resource) because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled."
根据 http://forismatic.com/en/api/ 上的文档:
jsonp=<string> — callback function name, used for jsonp format only
所以他们只有一个 jsonp
参数,其他 API 使用 callback
.
因此给定 method=getQuote&key=457653&format=jsonp&lang=en&jsonp=?
,文字“?
”是 API 将 return 作为回调函数名称的内容:
$ curl "http://api.forismatic.com/api/1.0/?method=getQuote&key=457653&format=jsonp&lang=en&jsonp=?"
?({"quoteText":"I have done my best: that is about all the philosophy of living one needs.","quoteAuthor":"Lin-yutang","senderName":"","senderLink":"","quoteLink":"http://forismatic.com/en/475d78775d/"})
换句话说,参数名称“callback
”并没有什么神奇之处——没有强制要求必须使用参数名称的标准,因此任何 API 提供者都可以选择使用任何名称他们想要——正如 forismatic.com 为他们的 API 选择的那样。