jquery - jsonp作为GET发送

标签 jquery ajax elasticsearch

上周,我打开了另一条帖子,因为我的 flex 搜索未返回准确的结果,请参见ElasticSearch post

基本上发生的事情是,当我使用jsonp时,该请求实际上不是作为GET请求而不是POST请求发送的。以下是jsonp请求。当我使用json时,它实际上是作为POST发送的。

   amplify.request.define("searchPostRequest", "ajax", {
        url: "http://leServer:9200/people/person/_search",
        type: "POST",
        dataType: 'jsonp',
        contentType: 'application/json'
    });

有谁知道我可以如何强制将j​​sonp作为POST请求发送?

最佳答案

您无法使用POST对另一个域或同一域进行JSONP调用,因为JSONP可以通过向页面添加脚本标记来起作用。它没有发出XMLHttpRequest。

如果要发布数据并且它是同一个域,只需对服务器进行常规的POST ajax调用并返回JSON。

如果是跨域调用:如果您控制另一个域,并且只关心现代浏览器,则可以使用CORS;如果不是,则必须在服务器上使用代理进行发布请求。这两个解决方案都将进行JSON调用,而不是JSONP。

关于jquery - jsonp作为GET发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14460665/

相关文章:

elasticsearch - elasticsearch date_range查询和嵌套api

javascript - 如何在文本框下居中jquery datepicker

jquery - Owl Carousel - 垂直对齐底部

javascript - 这些语法有什么区别请详细解释一下?

javascript - 在 CodeIgniter 上使用 ajax json 显示数据

java - 如何正确中断 JAX-RS AJAX 请求

mongodb - Elasticsearch和MongoDB:5次尝试后未找到river _meta文档

spring - 为什么在使用spring-data-elasticsearch时将HEAD请求发送到我的索引

JQuery:如何选择除单击的元素之外的所有具有相同类的元素?

javascript - 通过滚动减少 div 宽度