【发布时间】:2017-10-19 16:36:26
【问题描述】:
我正在尝试将 Gumroad API 用于 Wordpress 插件,并尝试了解如何拨打电话,在我的情况下是 GET。
我在 Stack Overflow 上搜索了很多代码示例,但仍然无法在没有任何错误的情况下运行它。
Plain JS 或 jQuery.ajax 是可以接受的。 我的 jQuery 版本是 1.12.4
当我使用 JSNOP 时,我在 firefox webdev 工具中得到响应,但在 JS 中仍然出现错误,因为 API 返回 JSON(如 docs 中所述)。
我尝试了多种代码变体:
代码 1
jQuery.ajax({
dataType: 'jsonp',
url: 'https://api.gumroad.com/v2/products',
data: {
'access_token': '676234257caeb63ca7683c39d14e0091387a1a36af0c2135f989d0fd84ffc0c5'
},
success: function(data){
console.log(data);
},
error: function(d){
console.log(d);
}
});
代码 2
jQuery(document).ready(function() {
var url = 'https://api.gumroad.com/v2/products/';
url += '?method=getQuote';
url += '&format=jsonp';
url += '&lang=en&';
url += 'jsonp=myJsonMethod';
url += '&?callback=?';
url += '&access_token=676234257caeb63ca7683c39d14e0091387a1a36af0c2135f989d0fd84ffc0c5';
jQuery.getJSON(url);
});
function myJsonMethod(response){
console.log (response);
}
但错误总是一样的:
错误:
SyntaxError: missing ; before statement
回应:
{
"success": true,
"products": [{
"name": "Test",
"url": "https://s3.amazonaws.com/gumroad/attachments/1295292066926/b81638b60726496a98e63d2cc7d80075/original/IMG_09032017_123025.png",
"preview_url": "https://static-2.gumroad.com/res/gumroad/1295292066926/asset_previews/a4a204f68be7087dd360a142e620728e/retina/Color_Wheel.png",
"description": "\n\u003cp\u003eOffer test\n\n\u003c/p\u003e\n",
"customizable_price": false,
"webhook": null,
"require_shipping": false,
"custom_receipt": "",
"custom_permalink": null,
"subscription_duration": null,
"id": "MmaHg-V0-uqWW4T2W_-LLw==",
"custom_product_type": null,
"countries_available": [],
"price": 1000,
"currency": "usd",
"short_url": "https://gum.co/qiHIX",
"formatted_price": "$10",
"published": true,
"shown_on_profile": true,
"file_info": {
"Size": "187 KB",
"Resolution": "1080p"
},
"max_purchase_count": null,
"deleted": false,
"custom_fields": [],
"custom_summary": "",
"variants": [],
"sales_count": 0,
"sales_usd_cents": 0,
"view_count": 6
}]
}
请求的网址
https://api.gumroad.com/v2/products?callback=jQuery112409655243732650752_1495261525390&access_token=676234257caeb63ca7683c39d14e0091387a1a36af0c2135f989d0fd84ffc0c5&_=1495261525391
由于另一个错误,我不能使用 JSON 请求类型:
Cross-Origin Request Blocked:
The Same Origin Policy disallows reading the remote resource
at https://api.gumroad.com/v2/products.
(Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
非常感谢您的任何建议!
【问题讨论】:
标签: javascript json ajax wordpress cors