在做一個小爬蟲,先爬了一個列表,再根據每一個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裡的傳參哪裡寫錯了,希望大家指點下~~
大家讲道理2017-05-15 16:53:32
我覺得你的ionic的路由聲明以及node的處理都不太對,ionic用的是ui-router,如果你的參數是一個路徑,你直接使用:
javascript
url: "/newslist/:url",
是不對的,定義path類型的路由應該如下:
javascript
url: "/newslist/{path:.*}"
或:
javascript
url: "/newslist/*path"
同理你在node的router中,接受請求的聲明應該也不正確,通常:name不會支持url類型參數,需要你查看你使用的router組件文檔,自行解決了。