如何使用java脚本从url获取数据 [英] How to get data from url using java script

查看:68
本文介绍了如何使用java脚本从url获取数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用url参数获取用户名(wwww.domain.com/upload.html?user=user1),这里是我的代码,我想在html表单输入文本框中显示用户名...请帮帮我........



I try to get user name using url parameters(wwww.domain.com/upload.html?user=user1), here my code, i want to show user name in html form input text box... please help me........

<!DOCTYPE html>
<html>
<head>
<script>
var QueryString = function () {
  // This function is anonymous, is executed immediately and 
  // the return value is assigned to QueryString!
  var query_string = {};
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    	// If first entry with this name
    if (typeof query_string[pair[0]] === "undefined") {
      query_string[pair[0]] = pair[1];
    	// If second entry with this name
    } else if (typeof query_string[pair[0]] === "string") {
      var arr = [ query_string[pair[0]], pair[1] ];
      query_string[pair[0]] = arr;
    	// If third or later entry with this name
    } else {
      query_string[pair[0]].push(pair[1]);
    }
  } 
    return query_string;
} 
</script>
</head>
<body>

<center>
<h2>Java Uploader Beta <BR> </h2></center>
<form id="upload_form" enctype="multipart/form-data" method="post">
<label for="user">User:</label>
<input name="user" type="text" id="user"  tabindex="1" value="QueryString.user();" readonly/><br><BR>
<label for="title">Title:</label>
<input type="text" id="title" name="title"  tabindex="1"/><br><BR>
<label for="artist">Artist:</label>
<input type="text" id="artist" name="artist"  tabindex="2"/><br><BR>
<label for="year">Year:</label>
<input type="text" id="year" name="year"  tabindex="3"/><br><BR>
<label for="album">Album:</label>
<input type="text" id="album" name="album"  tabindex="4"/><br><BR>
  <input type="file" accept="audio/*" name="file1" id="file1"><br><BR>
  <input type="button" value="Upload File" onclick="uploadFile()"><BR>
  <progress id="progressBar" value="0" max="100" style="width:300px;"></progress>
  <font color="#FF0000"><h4  id="status"></h4></font>
  <font color="#0099FF"><p id="loaded_n_total"></p></font>
</form>
</body>
</html>

推荐答案

您可以在javascript中使用以下功能:



You can use below function in javascript:

function parseURLParams(url) {
    var queryStart = url.indexOf("?") + 1,
        queryEnd   = url.indexOf("#") + 1 || url.length + 1,
        query = url.slice(queryStart, queryEnd - 1),
        pairs = query.replace(/\+/g, " ").split("&"),
        parms = {}, i, n, v, nv;

    if (query === url || query === "") {
        return;
    }

    for (i = 0; i < pairs.length; i++) {
        nv = pairs[i].split("=");
        n = decodeURIComponent(nv[0]);
        v = decodeURIComponent(nv[1]);

        if (!parms.hasOwnProperty(n)) {
            parms[n] = [];
        }

        parms[n].push(nv.length === 2 ? v : null);
    }
    return parms;
}



使用此作为:


Use this as:

var urlString = "http://www.SomeUrl.com/bar?a=a+a&b%20b=b&c=1&c=2&d#hash";
    urlParams = parseURLParams(urlString);



将返回一个对象


that will return a an object

{
  "a"  : ["a a"],     /*return arrays */
  "b b": ["b"],       /* names having special chars */
  "c"  : ["1", "2"]   /* an URL occurs multiple times */
  "d"  : [null]       /* parameters without values set to null  */ 
} 



因此,


Thereby,

parseURLParams("www.YourUrl?name=something")



结果


Results

{name: ["something"]}


这篇关于如何使用java脚本从url获取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆