搜尋

首頁  >  問答  >  主體

angular.js - angular如何在url裡傳遞參數?

在做一個小爬蟲,先爬了一個列表,再根據每一個href去爬文章

我在href裡將新的url參數傳遞

<ion-item ng-repeat="item in news" class="item item-icon-left">
     <a href="#/app/newslist/{{item.href}}" >

在ionic的路由裡是這樣寫的:

url: "/newslist/:url",

我希望將url這個參數傳給node寫的server,
ionic的controller是這樣傳參數的

.controller('SingleNewsCtrl', function ($scope,$stateParams,$http) {
    $http.get('http://localhost:3000/newslist/' + $stateParams.url)
        .success(function(data){
            $scope.title = data.title;
            $scope.date = data.date;

在server裡,希望接受url參數,再去爬新的頁面

app.get('/newslist/:url', function (req, res) {
var url = req.params.url;

superagent.get(url)
    .end(function (err, data) {
        if (err) console.log(err);

但是url總是接受不到,不知道angular裡的傳參哪裡寫錯了,希望大家指點下~~

黄舟黄舟2743 天前589

全部回覆(1)我來回復

  • 大家讲道理

    大家讲道理2017-05-15 16:53:32

    我覺得你的ionic的路由聲明以及node的處理都不太對,ionic用的是ui-router,如果你的參數是一個路徑,你直接使用:

    javascripturl: "/newslist/:url",
    

    是不對的,定義path類型的路由應該如下:

    javascripturl: "/newslist/{path:.*}"
    

    或:

    javascripturl: "/newslist/*path"
    

    同理你在node的router中,接受請求的聲明應該也不正確,通常:name不會支持url類型參數,需要你查看你使用的router組件文檔,自行解決了。

    回覆
    0
  • 取消回覆