2013-09-02 1 views
44

$location.search() null ist

die Suchparameter eine URL zu setzen, die auf die search() geleitet wird, wird durch eine Form festgelegt. Auswahl und ein Element Abwahl bewirkt, dass einige Parameter Wert „Null“ zu sein, und so sieht die URL wie folgt aus:

myapp.com/search?type=text&parameter=null 

so würde Ich mag diese „null“ Parameter aus der URL entfernen. In der Dokumentation gibt es einen "paramValue", der als zweite Parameter an .search (search, paramValue) übergeben werden kann: Wenn der Wert null ist, wird der Parameter gelöscht.

aber ich kann diese Arbeit nicht machen ... irgendeinen Vorschlag?

edit: hier ist eine Lösung, die auf @BKM Erklärung

alle Parameter zu entfernen, die null sind, ist es notwendig, durch alle von ihnen in einer Schleife und testen jedes, wie folgt aus:

for (var i in search) { 
    if (!search[i]) $location.search(i, null); 
} 
$location.search(search); 

Antwort

87

Mit dem $location Service können Sie den Suchparam entfernen, indem Sie ihm einen Nullwert zuweisen:

In dem Fall, wenn Ihr Parameter Null ist, in Ihrem Fall 'parameter' Sie können es aus der URL entfernen, indem Sie ihm einen Nullwert wie;

$location.search('parameter', null); 

Ich hoffe, es hilft.

+0

ok dies die Parameter zu entfernen. Also, um zu machen, was ich wollte, musste ich alle Parameter durchlaufen und sie entfernen, wenn der Parameter null ist ('if (! parameter)'). Danke. Ich werde meine Antwort mit dieser Lösung bearbeiten –

27

Sie können $location.search({}) verwenden, um alle auf einmal zu löschen.

-1

Sie können auch tun:

var search = $location.search(); 
if (search.parameter == 'null') { 
    $location.search({'parameter': null}); 
} 
Verwandte Themen