Ajax调用没有成功或完成或任何MVC3

我无法设法让一个简单的Ajax工作并返回JSON,而浏览器没有要求我保存文件……但是现在它仍然无法让ajax调用工作…让我给你对我想要完成的事情有1000英尺的看法。 我试图有3个选项卡…其中2个,代表两种类似但不同的方式通过webservice调用搜索数据。 当JSON结果返回时,第三个选项卡将在表中显示结果。 看起来很简单,因为我已经分别成功完成了这三个组件中的每一个,我认为组合很简单。 不是这样。

让我感到烦恼的是,实际上是将JSON数据恢复到视图然后切换到该选项卡……我目前遇到的是我进入提交function并且没有任何反应。 这非常令人沮丧。 首先,这是我设置表单的方式……

@using(Html.BeginForm("SearchByDemographic", "SearchPatients", FormMethod.Post, new{ id = "searchByDemographics" } ) ) 

表格没什么特别的。 我想在某些时候进行jqvalidation,但是当我到达那里时我会越过那个桥…除了将数据绑定到jqGrid的函数之外,还应该调用控制器的jquery函数。 ..我做过类似的事情但不是全部……

 $('#formSearchByMRN, #searchByDemographics').submit(function (event) { debugger; //event.preventDefault(); $.ajax({ url: this.action, type: this.method, data: $(this).serialize(), dataType: "json", success: function (result) { debugger; //$('#retTable').html(result); switchToResultTab(result); } }); return false; }); function switchToResultTab(data) { debugger; $("#list").setGridParam({ datatype: 'jsonstring', datastr: data, caption: 'Patient Search Result' }).trigger("reloadGrid"); $('a[href="#retTable"]').click(); }; 

目前,当我单步执行代码时,我从未通过调试器函数调用…这就是它停止的地方! 我就像地球上发生的事情一样? 我怎么搞砸了这么简单的函数调用?! 我从来没有去过.ajax电话? 让我们假设我在某个地方是一个白痴,我可以得到一个疯狂的ajax工作。 一旦我确实得到它,每当我进入成功函数时,我的结果总是空的。 如果我切换到完成,浏览器会要求我打开或保存JSON文件……有没有人有任何一般性的建议,我知道这是专门的,所以特定的答案可能很难得到,但任何人都可以建议任何原则我可能会在这里俯瞰? 你会如何实现类似的结果?

谢谢

更新:因为我没有使用我的URL或我的方法类型,所以会出现这种情况

不知道为什么调用this.action没有得到定义的forms的动作…我不知道是否有人对此有任何见解? 也许因为我在这个函数中调用了两种不同的forms?

更新好的,无论我做什么,我似乎无法获得动作或请求类型…如果我这样做

 var type = this.action; 

要么

 var type = $('#searchByDemographics').attr('action'); var type = this.method; 

要么

 var method = $('#searchByDemographics').attr('method'); 

我究竟做错了什么?

更新我设法将动作放入动作url参数。 似乎没有什么可以做到让这个东西调用我的方法然后回来。

 var urlVal = event.target.action; 

以上是我如何得到动作实际HTML:取自IE

 

    Or










通常没问题。 但是,我在页面上至少有两个表单的事实可能会使某些事情变得复杂……

 



  • Medipac NorthWest Epic Bedford Childrens Magee Passavant Mercy Medicare UPMC Health Plan EMPI


    Or










问题是,如何准确地获得正确的forms和行动……