Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度路由将数据发送到服务器_Javascript_Angularjs - Fatal编程技术网

Javascript 角度路由将数据发送到服务器

Javascript 角度路由将数据发送到服务器,javascript,angularjs,Javascript,Angularjs,所以我在Angular中设计了一个单页应用程序,但一直都做得不对!我目前正在使用路由重新执行此操作,这意味着我不需要对服务器执行$ajax或$http调用,而是希望使用如下内容: .when('/contact', { templateUrl : '/contentMore', controller : 'contentController' }); $.ajax({ url: "http://exampl

所以我在Angular中设计了一个单页应用程序,但一直都做得不对!我目前正在使用路由重新执行此操作,这意味着我不需要对服务器执行
$ajax
$http
调用,而是希望使用如下内容:

       .when('/contact', {
            templateUrl : '/contentMore',
            controller  : 'contentController'
        });
$.ajax({
    url: "http://example.com/contentMore",
    type: "GET", 
     data: {request:"Section_I_Part_1_Complete",part:"1"},
    success: function(data){
        $scope.robot.ajax = true;
        $scope.robot.sectionStayActiveI = false;
      theData = data;
      $scope.$apply();    
     $scope.html = theData; 
      $('#shyBox').mCustomScrollbar({
      theme:"dark"
      });     
      $scope.background.push("I");    
      }
  });
我的问题是
模板URL

当前我的代码如下所示:

       .when('/contact', {
            templateUrl : '/contentMore',
            controller  : 'contentController'
        });
$.ajax({
    url: "http://example.com/contentMore",
    type: "GET", 
     data: {request:"Section_I_Part_1_Complete",part:"1"},
    success: function(data){
        $scope.robot.ajax = true;
        $scope.robot.sectionStayActiveI = false;
      theData = data;
      $scope.$apply();    
     $scope.html = theData; 
      $('#shyBox').mCustomScrollbar({
      theme:"dark"
      });     
      $scope.background.push("I");    
      }
  });
我所有的内容都来自同一个url,
http://example.com/contentMore
服务内容由ajax请求中随附的数据决定。如果templateUrl只是
/contentMore
而没有此数据,则不会提供任何服务,那么如何传递此数据

我只是对url进行编码还是什么?另外,如果加载了templateUrl,是否将其视为ajax请求的一种形式


谢谢

templateUrl用于获取(通常是静态)html。url应该包含您试图接收的模板的所有信息。Angular通过XHR请求检索此内容。

您应该只使用
$http
而不是
jQuery.ajax()
-当使用
$http
Angular时,Angular“知道”请求承诺何时得到解决-这将允许它触发摘要循环并更新您的应用程序中的绑定app@AlonEitan是的,谢谢,我已经学会了这个lol。但是在路由中使用
模板URL
时,我甚至必须使用
$http
?我现在的主要问题是,我没有路由,因此我的用户正在点击后退按钮,进入一个完全不同的页面。如果@Chic的答案不够充分,您可以使用该模板动态提供服务,为基本angular
$routeProvider
,添加额外功能。对于您关于始终使用
$http
-的问题,答案是始终使用$http,jQuery只是作为最后的手段,应该只在目录中使用,所以我对url或其他东西进行编码?这就是当您正确发送附加数据时,
GET
请求的工作原理?它只是以某种方式将其附加到url?这是正确的方法吗?是的,我会让URL包含足够的信息来确定要显示的模板。然后,当angular发出
GET
请求时,您的服务器将知道返回什么。我正在处理的应用程序具有静态模板,因此服务器只返回文件。但由于您已经有了动态响应,url编码可能是最简单的