spring-mvc - 使用 xhr post 和 json 的 dojo ajax 调用

标签 spring-mvc dojo

我无法通过 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>

下面是 Spring Controller

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

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

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

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

最佳答案

Dojo 有 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/request 优于 dojo/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 处理跨域请求。

来源:

关于spring-mvc - 使用 xhr post 和 json 的 dojo ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12616533/

相关文章:

java - 提交后选择中的默认值仍然存在

redirect - Spring MVC : Displaying of validation messages after redirect

javascript - 在某些字段上禁用 Dojo 验证

javascript - Dojo 的 Stateful 的 jQuery 版本?

javascript - 将 HTML 文件内容加载到 dojo 对话框中

java - 在运行时,有没有办法检查哪个 API/ Controller 方法导致 Spring Boot 应用程序中的当前执行点?

java - HttpClientErrorException : 404 null

Spring oauth2 InsufficientAuthenticationException

javascript - 向 XPages 部分刷新 (dojo.xhrPost) 事件添加错误函数?

javascript - Arcgis (ESRI) dojo 导致使用 jQuery 的定义的组件进行 multipleDefine