我如何正确设置Ext.form.panel的提交,以管理xml respone?

时间:2011-10-21 10:30:45

标签: xml forms extjs

我的Ext.form.Panel应该“吃掉”来自服务器的xml响应,但是extjs会提升

uncaught exception: You're trying to decode an invalid JSON String: 
< ?xml version="1.0" encoding="UTF-8" standalone="yes"?>< root>< user >admin< /user>< roles>Administrator< /roles">"< roles>Operator< /roles>< /root>"

这是提交按钮上的处理程序:

var form = this.up('form').getForm();
if (form.isValid()) {
    form.submit({
        success: function(form, request) {
            console.log("OK")
            //Ext.Msg.alert('Success', action.result.msg);
        },
        failure: function(form, request) {
            console.log("KO")
            //Ext.Msg.alert('Failed', action.result.msg);
        }
    });

我做错了什么?

感谢您的任何建议。

2 个答案:

答案 0 :(得分:1)

您可以为表单接收xml。

您只需要使用XML阅读器配置表单,如下所示:

    reader : Ext.create('Ext.data.reader.Xml', {
        model: 'example.contact',
        record : 'contact',
        successProperty: '@success'
    }),

这里有一个完整的例子: http://dev.sencha.com/deploy/ext-4.0.0/examples/form/xml-form.html

答案 1 :(得分:0)

表单需要JSON格式的答案,不能处理XML数据。您需要将服务器响应更改为JSON,或者使用表单字段作为参数的Ajax请求。