本文的目的是介绍如何使用jqueryajaxmagento调用控制器的详细情况,我们将通过专业的研究、有关数据的分析等多种方式,同时也不会遗漏关于ajax–如何使用jquery$.get()发送参数、
本文的目的是介绍如何使用jquery ajax magento调用控制器的详细情况,我们将通过专业的研究、有关数据的分析等多种方式,同时也不会遗漏关于ajax – 如何使用jquery $.get()发送参数、asp.net-mvc – jQuery Ajax调用控制器、c# – 如何从JQuery调用控制器方法?、java – 如何使用Jquery AJAX调用Spring控制器方法的知识。
本文目录一览:- 如何使用jquery ajax magento调用控制器
- ajax – 如何使用jquery $.get()发送参数
- asp.net-mvc – jQuery Ajax调用控制器
- c# – 如何从JQuery调用控制器方法?
- java – 如何使用Jquery AJAX调用Spring控制器方法
如何使用jquery ajax magento调用控制器
模板中的Ajax代码是
jQuery(".deleteAttrKeyId").on("click",function(){ var baseUrl="<?PHP echo Mage::getBaseUrl();?>"; var idArr=this.id.split("-"); attrKeyId=idArr[1]; alert(this.id); jQuery.ajax({ type: "POST",dataType: "JSON",data :{'id':attrKeyId},url :baseUrl+"groupprice/adminhtml_grouppricebackend/index",complete:function(){alert("completed"); },success:function(result){ alert(result); } }); });
布局中的块代码是
<groupprice_adminhtml_grouppricebackend_index> <reference name="content"> <block type="groupprice/adminhtml_grouppricebackend" name="grouppricebackend" template="groupprice/grouppricebackend.phtml"/> </reference> </groupprice_adminhtml_grouppricebackend_index>
控制器代码是
<?PHP class Group_GroupPrice_Adminhtml_GrouppricebackendController extends Mage_Adminhtml_Controller_Action { public function indexAction() { echo __FILE__; } }
解决方法
<script type="text/javascript"> function callController(){ new Ajax.Request("<?PHP echo $this->getUrl('groupprice/adminhtml_grouppricebackend/index') ?>",{ method: 'Post',parameters: {"parameter_name":"value"},onComplete: function(transport) { alert(transport.responseText); } }); }
ajax – 如何使用jquery $.get()发送参数
这是我的功能:
$(function() { var availableProductNames; $.get("manageproducts.do?option=1",function(data){ availableProductNames = data.split(",");; alert(availableProductNames); $("#nameInput").autocomplete({ source: availableProductNames }); }); });
这似乎不起作用当我使用request.getParameter(“option”);我在我的servlet中得到一个null;
如果我键入到浏览器http://www.myite.com/manageproducts.do?option=1的链接,它的工作是完美的。
我也试过:
$.get( "manageproducts.do?",{option: "1"},function(data){}
这也不行。
你能帮我么?
编辑:
也试过
$.ajax({ type: "GET",url: "manageproducts.do",data: "option=1",success: function(msg){ availableProductNames = msg.split(","); alert(availableProductNames); $("#nameInput").autocomplete({ source: availableProductNames }); } });
仍然得到相同的结果。
$.get('manageproducts.do',{ option: '1' },function(data) { ... });
因为它将发送相同的GET请求。
asp.net-mvc – jQuery Ajax调用控制器
我不确定如何在javascript函数checkMlaDeliveryType(mlaId)中设置ajax调用.
// MLA Add disable express checkBox if delivery type is electronic $('.AddSelectedMla').change(function () { var deliveryType = checkMlaDeliveryType($('.AddSelectedMla').val()); // disable express option if delivery type is Electronic if (deliveryType == "Mail") { $(".mlaExpressIndicator").removeAttr("disabled"); }else{ $(".mlaExpressIndicator").attr('checked',false).attr("disabled",true); } }) // ajax call to get delivery type - "Mail" or "Electronic" function checkMlaDeliveryType(mlaId) { $.ajax({ type: "GET",url: "/Recipients/GetMlaDeliveryType/",data: mlaId,dataType:,success: }); } RecipientsController.cs public string GetMlaDeliveryType(int Id) { var recipientorchestrator = new Recipientsorchestrator(); // Returns string "Electronic" or "Mail" return recipientorchestrator.GetMlaDeliveryTypeById(Id); }
编辑:
这是最终的javascript看起来如何工作
// MLA Add disable express checkBox if delivery type is electronic $('.AddSelectedMla').change(function () { checkMlaDeliveryType($('.AddSelectedMla').val()); }) // ajax call to get delivery type - "Mail" or "Electronic" function checkMlaDeliveryType(mlaId) { $.ajax({ type: 'GET',url: '@Url.Action("GetMlaDeliveryType","Recipients")',data: { id: mlaId },cache: false,success: function (result) { // disable express option if delivery type is Electronic if (result == "Mail") { $(".mlaExpressIndicator").removeAttr("disabled"); } else { $(".mlaExpressIndicator").attr('checked',true); } } }); }
解决方法
$.ajax({ type: 'GET',url: '/Recipients/GetMlaDeliveryType',success: function(result) { } });
然后修复你的控制器动作,使它返回一个ActionResult,而不是一个字符串. JSON适用于您的情况:
public string GetMlaDeliveryType(int Id) { var recipientorchestrator = new Recipientsorchestrator(); // Returns string "Electronic" or "Mail" return Json( recipientorchestrator.GetMlaDeliveryTypeById(Id),JsonRequestBehavior.AllowGet ); }
现在,您的成功回调将直接传递给您的模型的javascript实例.您无需指定任何dataType参数:
success: function(result) { // Todo: use the result here to do whatever you need to do }
c# – 如何从JQuery调用控制器方法?
<script type="text/javascript" language="javascript"> function SubmitAjax(url,message,successFunc,errorFunc) { $.ajax({ type:"POST",url:url,data:message,contentType: "application/json; charset=utf-8",dataType: "json",success:successFunc,error:errorFunc }); };
我不想将整个相关数据列表传递给每个到达页面的人的选择列表,因为并非所有人都需要此功能.所以我想通过JQuery调用控制器或webmethod,但似乎无法找到如何解决MVC中的URL.
我注意到这篇文章:
JQuery Ajax call gets resolved to the current Controller Folder,Instead of root Folder
$.getJson是一个mvc方法吗?对我的用例来说这是一个很好的解决方案吗?我只需要返回一个字符串url,或者如果找不到我正在寻找的空字符串.我是否需要为$.getJSon方法添加一个?是MVC的一部分还是JQuery的一部分?领先的斜杠是指向应用程序根目录还是服务器根目录?
解决方法
Basic AJAX example with ASP.NET MVC?
或者这一个:
How to get the Json object for drop down?
他们应该给你一些指示.
本质上,$.getJson是一个jQuery方法,而不是MVC方法,但是想要将它与你的MVC控制器结合使用,返回一个Json结果.
java – 如何使用Jquery AJAX调用Spring控制器方法
我有以下Spring Controller
@Controller
@RequestMapping("/accreq")
使用以下映射
@RequestMapping(value = "/defRoles", method=RequestMethod.GET)
public @ResponseBody String loadDefaultRoles(
@RequestParam(value="idGroup", required=false) String groupID
throws servletexception{
我正在尝试使用以下jquery ajax调用此方法
$.ajax({
type: 'GET',
url: '/accreq/defRoles',
data: {idGroup: $('#infoGroup').val() },
success: function() {
alert("success");
}
});
请帮我弄清楚为什么即使在单击按钮时调用ajax方法也没有调用Spring方法.我已经使用firebug逐步完成了脚本,它肯定会触及ajax函数.
解决方法:
首先,尝试查看在浏览器中手动点击URL时会发生什么
如果成功,请打开firebug中的请求跟踪,看看firefox是否实际点击了URL(以及响应的内容)
今天关于如何使用jquery ajax magento调用控制器的分享就到这里,希望大家有所收获,若想了解更多关于ajax – 如何使用jquery $.get()发送参数、asp.net-mvc – jQuery Ajax调用控制器、c# – 如何从JQuery调用控制器方法?、java – 如何使用Jquery AJAX调用Spring控制器方法等相关知识,可以在本站进行查询。
本文标签: