当从.js文件调用ajax时,如何给控制器操作提供路径

时间:2017-04-19 11:20:59

标签: javascript jquery ajax yii2-advanced-app

function sendData(types,data){

var datas={types:types,data:data};

console.log(datas);

 $.post({

       url:'../../controllers/news/ajax',

       data:datas,

       success:function(response){

           console.log(response)

       }

   });

}

这是我的new.js文件,需要对newController.php文件执行ajax调用。

2 个答案:

答案 0 :(得分:0)

你必须在像这样的ajax中提供完整的路径

   var datas={types:types,data:data};
   console.log(datas);
   var url = '<?php echo base_url();?>';
   $.post({

   url:url+'/news/ajax',

   data:datas,

   success:function(response){

       console.log(response)

   }

  });

您可以使用基本网址功能

答案 1 :(得分:0)

您需要找到解决方法,如下所示

.js 文件不是由asp.net mvc视图引擎解析的,你不能在那里使用任何服务器端(c#)代码。您可以使用custom-data-attributes来解决此问题。创建一个centerPlayer = players[0] 使其成为<div>,并在页面的所有display:none的不同数据属性中设置多个URLs。 (如保存,删除,加载等)。

ajax call

之后在ajax调用中的 New.js 文件中,您可以访问此div并获取<div id="allUrls" style='display:none' data-url-save="@Url.Action("SaveAction", "Controller")" data-url-delete="@Url.Action("DeleteAction", "Controller")" ></div> ,如下所示

url

由于