의 선택한 행에서 검색 한 GridDataItem
개체를 보내려고합니다.
하지만 떴어 catch되지 않은 오류 RangeError :이 AJAX 호출을 할 때 최대 호출 스택의 크기는 오류를 초과 :오류 : "최대 호출 스택 크기 초과"AJAX 호출 웹 메서드
편집 : 나는 코드, 내 AJAX 성공 화재,하지만 난이 중단 점을 실행하면 WebMethod에서 절대 안타. 이 후 페이지가 잠시 멈추고 위에서 언급 한 오류가 발생합니다.
jQuery를
$(document).ready(function() {
$('#<%=btnTransferIn.ClientID%>').on('click', function() {
var grid = $find("<%= gridStudents.ClientID %>"); //Returns an Object
var gridSelItems = grid.get_selectedItems(); //Returns Array
//var selectedItem = gridSelItems[0]; //Returns an Object
AjaxTransfer(gridSelItems);
});
});
function AjaxTransfer(selectedItem) {
$.ajax({
type: "POST",
url: "GradeSheet2.aspx/btnTransferIn_Click",
data: { 'gsi': selectedItem },
dataType: "json",
contentType: "application/json; charset=utf-8",
success: alert('Complete')
})
}
C#을
[System.Web.Services.WebMethod]
public static string btnTransferIn_Click(GridDataItem gsi)
{
return "Done";
}
의 Web.config
<?xml version="1.0"?>
<configuration>
<configSections>
</configSections>
<appSettings>
<add key="AISAnalogPATH" value="\\tms-sse-01\tms_share\cbtExecutables\" />
<add key="ExternalCAIPath" value="\\tms-sse-01\tms_share\cbtExecutables\" />
<add key="AISDigitalPath" value="\\tms-sse-01\tms_share\cbtExecutables\" />
<add key="AuthorwarePath" value="\\tms-sse-01\tms_share\cbtExecutables\" />
<add key="QuestionMarkPath" value="\\tms-sse-01\tms_share\cbtExecutables\" />
<add key="WelcomeMessage" value="Welcome to the TMS 2016 Program"/>
<add key="Location" value="STL"/>
<add key="TMSPagesConnectionString" value="server=tms-sse-01;User ID=xcv;Password=mumumu777;Initial Catalog=qwer12344567;"/>
<add key="TMSConnectionString" value="server=tms-sse-01;User ID=xcv;Password=mumumu777;Initial Catalog=qwer12344567;"/>
<add key="LogPath" value="e:\TMS\TMS_Log\"/>
<add key="cbtPath" value="E:\C17CBT\"/>
<add key="xmlPath" value="E:\TMS_XML\"/>
<add key="TMSVersionId" value="2.0"/>
<add key="PageHeight" value="750px"/>
<add key="Telerik.ScriptManager.TelerikCdn" value="Disabled"/>
<add key="Telerik.StyleSheetManager.TelerikCdn" value="Disabled"/>
</appSettings>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<validation validateIntegratedModeConfiguration="false"/>
<handlers>
<remove name="ChartImage_axd"/>
<remove name="Telerik_Web_UI_SpellCheckHandler_axd"/>
<remove name="Telerik_Web_UI_DialogHandler_aspx"/>
<remove name="Telerik_RadUploadProgressHandler_ashx"/>
<remove name="Telerik_Web_UI_WebResource_axd"/>
<add name="Telerik_Web_UI_DialogHandler_aspx" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" preCondition="integratedMode"/>
<add name="Telerik_Web_UI_SpellCheckHandler_axd" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" preCondition="integratedMode"/>
<add name="Telerik_Web_UI_WebResource_axd" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" preCondition="integratedMode"/>
<add name="ChartImage_axd" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" preCondition="integratedMode"/>
<add name="Telerik_RadUploadProgressHandler_ashx" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" preCondition="integratedMode"/>
</handlers>
</system.webServer>
<system.web>
<customErrors mode="Off"/>
<httpHandlers>
<add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false"/>
<add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false"/>
<add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false"/>
<add path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" validate="false"/>
<add path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" validate="false"/>
</httpHandlers>
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="Microsoft.VisualC, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
</assemblies>
</compilation>
<httpRuntime targetFramework="4.5"/>
<authentication mode="Windows"/>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
<controls>
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit"/>
<add tagPrefix="telerik" namespace="Telerik.Web.UI" assembly="Telerik.Web.UI"/>
<add tagPrefix="TMSWeb" tagName="PersonList" src="~/TMS/Controls/PersonList.ascx"/>
<add tagPrefix="TMSWeb" tagName="DateTemplate" src="~/TMS/Controls/DateTemplate.ascx"/>
</controls>
</pages>
</system.web>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.WindowsAzure.Storage" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.1.0.4" newVersion="2.1.0.4"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
나는 WebMet을 변경하면 내가 발견 hod의 매개 변수를 문자열로 변환하고 객체 대신 문자열을 전달하면 작동합니다. 그래서 객체 나 웹 메쏘드로 전달하는 방식에 문제가있는 것처럼 보입니다.
내가 AJAX 호출을하기 전에 콘솔에서 객체를 검사했는데 문제가 없다고 생각합니다.하지만 모든 것을 잘 이해하지 못했습니다.
내가 너무 중요한 아무것도 탈락하지 않은 바랍니다. 더 많은 정보가 필요하면 알려주십시오.
미리 감사드립니다.
일부 코드를 게시하십시오. – Rex
JS를 파일에서 분리 하시겠습니까? 아니면 스크립트 태그입니까? 일부 코드를 게시하면 더 많은 것을 이해하는 데 도움이 될 것입니다 ... – Rex
아무런 차이가 없어야하지만 스크립트 태그에 있습니다. – CrazyPaste