【问题标题】:dojo ajax call using xhr post and json使用 xhr post 和 json 的 dojo ajax 调用
【发布时间】:2012-09-27 07:48:52
【问题描述】:

我无法通过 dojo 1.8 的 xhr 调用发布 dojo 表单,但它通过已弃用的方法 dojo.xhrPost 发生。请查看我使用的代码片段。

这是来自 jsp 的 dojo ajax 调用部分

require(["dojo/request/xhr"],function(xhr){
    xhr('http://localhost:8080/myApp/call',{
        data:  'callerName',
        method:"POST",
        load: function(data, ioargs) {
             alert("The message is: " +  ioargs.xhr.status);  
             },
             error: function(error){
             alert("Returned: " + error);
             }
    });
    });
<form data-dojo-type="dijit/form/Form" name="callerName" id="callerName">
    ...here are dojo input types
</form>

下面是弹簧控制器

@RequestMapping(value="/call",method=RequestMethod.POST)
public ModelAndView saveData3(HttpServletRequest req, @ModelAttribute Caller    caller){}

这里我没有从表单获取到调用者模型属性的值。但电话正在发生。 如果我在下面进行不推荐使用的调用,而不是这个 ajax 调用,值会被绑定。

dojo.xhrPost({
    url: 'http://localhost:8080/myApp/call',
    form: 'callerName',
    load: function(response) {
    }

对于 1.8 中的最新调用而不是参数“数据”,我尝试使用“表单”仍然没有发生。这可能是什么问题?

【问题讨论】:

    标签: spring-mvc dojo


    【解决方案1】:

    道场有deprecated the load and error callback attributes in favor of deferreds/promises


    我认为 Dojo 将保持向后兼容性直到 2.0,但也许它已被删除(啊.. 如果您需要旧的 dojo/_base/xhr,也许 1.8 支持旧语法)。

    另外,请注意最好直接要求 dojo/request 而不是 dojo/request/xhr

    更新: 为什么dojo/requestdojo/request/xhr 更受欢迎:

    dojo/request 是比dojo/request/xhr 更高级别的抽象。原来如此:

    • 更便携:dojo/request 自动选择合适的提供程序并在客户端和服务器中工作。 dojo/request/xhr 将无法在服务器(node.js)上运行,dojo/request/node 将无法在客户端(浏览器)上运行。
    • 更灵活。将来,也许会添加更好的提供者。 dojo/request 可以使用最好的提供程序,而无需对您的代码进行任何更改。此外,还可以根据 URL 配置提供程序。一个示例用例是使用 dojo/request/xhr 处理同域请求,使用 dojo/request/script 处理跨域请求。

    来源:

    【讨论】:

    • 你能举例说明你的答案吗!
    • @SathishKumarkk:答案中有两个示例的链接。
    • 是的,但是当我尝试这个时,我的弹簧控制器不叫 Y?
    • @Leftium 为什么要求dojo/requestdojo/request/xhr 更好?是否需要 dojo/requestdojo/request/* 一个 la Java?
    • @EricAlberson:dojo/request 是更高级别的抽象。更便携、更灵活。我用更多细节更新了我的答案。
    猜你喜欢
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    相关资源
    最近更新 更多