【问题标题】:Sencha Touch: How to submit long text/data through JSONP?Sencha Touch:如何通过 JSONP 提交长文本/数据?
【发布时间】:2014-02-13 18:41:44
【问题描述】:

我想发送长文本并将其保存在在线托管的数据库中。 但我收到 414(请求 URI 太大)

我现在陷入困境,找不到任何解决方案。

据我所知,JSON 通过 GET 方法发送数据。我想知道是否可以将其更改为 POST 方法。有可能吗?

Ext.util.JSONP.request({
    url: 'http://host.com/folder/file.php?action=add',  
    callbackKey: 'callback',
    params: data,
    method: 'POST',
    success: function(response) {
        //do something
    },
    failure: function(response) {
        //do something
    }
});

更新 我尝试使用普通的 XHTMLREQUEST。 我发现,当我尝试在没有数据的情况下发送时,它是成功的。但是当我传递数据时,错误又出现了。

【问题讨论】:

  • 为什么不呢?试试吧。不要忘记在 php 代码中将 $_GET 替换为 $_POST
  • 您不能使用 JSONP 进行 POST。你可以试试 cors,或者可能在你自己的服务器上创建一个代理,所以你发布到你的服务器,然后你的服务器发布到远程服务器。
  • @EvanTrimboli 我想在桌面浏览器和安卓手机上运行我的应用程序。我应该使用什么代理?

标签: extjs sencha-touch-2 jsonp


【解决方案1】:

如果您可以修改 servlet,另一种方法是使用 Origin 标头实现 CORS。之后就可以使用普通的json请求代替jsonp了。

【讨论】:

  • 我已经尝试过了,但它显示了这个错误:Access-Control-Allow-Origin 不允许访问本地主机。 我不知道为什么会出现这个错误,因为我已经在我的服务器中使用了 CORS:header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Headers: X-Requested-With'); header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
猜你喜欢
  • 2012-05-21
  • 1970-01-01
  • 2012-05-05
  • 1970-01-01
  • 2012-09-05
  • 2013-04-24
  • 2013-05-20
  • 2014-03-30
  • 1970-01-01
相关资源
最近更新 更多