【问题标题】:How to POST cross-domain form data using DOJO如何使用 DOJO 发布跨域表单数据
【发布时间】:2012-01-20 07:26:11
【问题描述】:

我想使用 POST 方法将表单数据发送到使用 DOJO 的远程 URL。 dojo.xhrPost 适用于本地域 & dojo.io.script.get 仅适用于 GET 方法。

谁能给我建议一个方法来做到这一点?

石基

【问题讨论】:

    标签: dojo cross-domain


    【解决方案1】:

    我相信你可以使用 dojo.io.iframe 来完成这个:

    dojo.io.iframe.send({
      url: 'www.myawesome.server',
      form: form,
      content: content
    });
    

    但显然您需要将表单上的方法设置为 POST:

    dojo.attr(form, 'method', 'post');
    

    (或者直接在表单上做:<form method="post" ...>

    我没有尝试过,但这里有一篇文章准确描述了(我相信)你正在尝试做什么:

    http://www.mikejuniper.com/2009/03/fun-with-dojoioiframesend/

    【讨论】:

    • 我试过这个,但我从 url 得到一个响应,它说缺少一个强制参数。我正在使用 dojo.io.iframe.send() 的表单和内容字段。这会导致任何问题吗?我在内容部分和表单中(在隐藏字段中)设置了该参数。可能是什么问题?
    • 这就是我调用 dojo.io.iframe.send dojo.io.iframe.send({ url: url, form: formNode, content: content, method: 'POST', handleAs: " json", reventCache: true, 加载: cb, 错误: cb });内容设置如下: var content = { PassKey : "xxxxx", apiversion : "5.0", Action : "submit", ProductId : catEntryId, Title : title, ReviewText : body, Rating : rating, itemDescription : description, UserId :“启示录”,用户昵称:“启示录”}
    • 来自服务器的强制参数一定是服务器上的应用程序有问题:它只是响应客户端没有发送它需要的东西。请求本身工作正常,但您没有发送服务器端想要的东西。
    • 我能像这样发帖吗? dojo.io.iframe.send(jsonpArgs).then(function(resp) { /*一些回调代码*/} ??调用没有进入我的回调部分。可能是什么问题?
    • hm,我会尝试在你的参数上使用load 参数,看看是否会被调用。我不确定dojo.io.iframe.send 是否会以您期望的方式返回延迟。
    猜你喜欢
    • 2015-02-20
    • 2017-11-14
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    相关资源
    最近更新 更多