摘要:
想要使用 POST 方法将数据发送到另一个域 JSONP。
代码:
$http.jsonp($scope.baseApiUrl+'QueryBuilder/getData?callback=JSON_CALLBACK')
.success(function(data, status, headers, config) {
$scope.success = true;
console.log(data);
}).error(function (data, status, headers, config) {
$scope.error = true;
});
它工作正常。但是我有很多数据需要跨域发送到服务,并且数据太大而无法通过查询字符串发送。所以我想将其作为 JSON 发送。
data: {
"dbName":"test",
"tables":["city","persons"],
"filters":["city_id='Hyd'"]
}
调查结果:
How to make a jsonp POST request that specifies contentType with jQuery?
Unable to post data using JSONP on Cross Domain
How to send data using JSONP from localhost to domain.com
Using PUT/POST/DELETE with JSONP and jQuery
每个帖子都表明这是不可能的。那么有没有其他方法可以做到这一点?
问题:
是否可以将数据发布到 JSONP?或者所有数据都必须作为 GET 请求在查询字符串中传递吗?
任何立即的帮助都将非常感激。谢谢。
最佳答案
Is it possible to post data to JSONP?
不,不是。
JSONP 的工作原理是添加 <script>
从其 src
获取数据的元素(数据嵌入在 JavaScript 程序中)。您无法发出 POST 请求来加载 JavaScript 程序。
Or does all data have to be passed in the querystring as a GET request?
是的
<小时/>JSONP 是一种绕过同源策略的肮脏黑客。
引入 CORS 作为绕过同源策略的标准方法,这种方法更加灵活。如果经过 CORS 授权,您可以使用 XMLHttpRequest 发出 POST 请求。请改用 CORS。
关于javascript - 使用 POST 发送数据到 JSONP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35477537/