人,
我正在开发一个使用EXTJS MVC框架进行后端开发的项目。
现在我遇到了在Ajax回调中获取控制器/模型/存储的问题
以下是我的代码片段。我在控制器中调用Ajax。
Ext.Ajax.request({
url: 'http://localhost:8080/gdltest/gdl_service.cgi',
jsonData: jRequest,
method: 'POST',
success: function (response,options) {
var jsonData = Ext.JSON.decode(response.responseText);
var jData = jsonData.results.data;
当我从响应中获取数据时,我想让控制器/模型/商店执行更多操作,但我不知道如何获取它们:(
非常感谢你的帮助:))
答案 0 :(得分:2)
您在success
功能中所做的是正确的。请检查您从服务器返回的响应。另外,url
是否正确?通常会给出资源的相对路径,而不是绝对路径,正如您在此处给出的那样。请求是否到达服务器?如果是,我认为发回的数据存在问题。您还应该在开发期间使用safe
选项。如果从服务器返回的Json格式不正确,则safe选项会抛出错误。来自文档:
decode( String json, [Boolean safe] )
safe:如果JSON是,则返回null或抛出异常 无效。
编辑:如果您想在成功回调中使用this
运算符,请指定scope
配置。示例如下:
Ext.Ajax.request({
url: 'http://localhost:8080/gdltest/gdl_service.cgi',
jsonData: jRequest,
method: 'POST',
success: function (response,options) {
var jsonData = Ext.JSON.decode(response.responseText);
var jData = jsonData.results.data;
},
scope : this //this will be the object form which the Ajax.request is called, and not Ajax.request itself or you can specify any other object you desire.