在登录时调用ajax帖子时获取最大调用堆栈大小错误。无法弄清楚究竟是什么导致了这个问题。我似乎无法找到任何递归函数。
这是我的xmlview文件
<mvc:View
controllerName="abc.controller.LoginController"
xmlns:mvc="sap.ui.core.mvc"
xmlns:u="sap.ui.unified"
xmlns:c="sap.ui.core"
xmlns:m="sap.m"
xmlns:l="sap.ui.layout"
xmlns:tnt="sap.tnt">
<m:Page
id="loginPage"
showHeader="false"
enableScrolling="false"
class="sapUiContentPadding">
<m:Panel width="30%">
<l:Grid>
<l:content>
<l:VerticalLayout>
<m:Label text="User Name" design="Bold"/>
<m:Input id="username"/>
</l:VerticalLayout>
<l:VerticalLayout>
<m:Label text="Password" design="Bold"/>
<m:Input id="password" type="Password" />
</l:VerticalLayout>
<l:VerticalLayout>
<m:Button id="loginBtn" text="Login" press="toTablePage" />
</l:VerticalLayout>
</l:content>
</l:Grid>
</m:Panel>
</m:Page>
</mvc:View>
我的登录控制器js文件是
sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/ui/model/json/JSONModel",
"sap/m/MessageToast"
], function(Controller, JSONModel, MessageToast) {
"use strict";
return Controller.extend("abc.controller.LoginController", {
onInit: function(){
},
toTablePage: function(){
var userName = this.byId("username");
var password = this.byId("password");
if(userName.getValue()!== "" && password.getValue()!== ""){
var aData = jQuery.ajax({
type: "POST",
contentType: "application/json",
url: "http://localhost:3000/api/logins",
dataType: "json",
data: jQuery.param({ email: userName, password : password}) ,
success: function (data, textStatus, jqXHR) {
alert(textStatus);
}
});
}
else
MessageToast.show("the username or password is wrong");
}
});
});
答案 0 :(得分:0)
您将userName
和password
(具有圆形结构的对象)传递给jQuery.param
。您需要传递实际的userName.getValue()
和password.getValue()
。
jQuery.param
正在尝试序列化递归对象。这是一个永不结束的过程。