2011-01-25 62 views
0

可能重複:
Is it possible to pass GET or POST variable to external javascript是否有可能通過GET或POST變量外部JavaScript

我想知道是否有可能任何變量傳遞給外部 Java的腳本文件

例如

這個

<script type="text/javascript" src="gallery.js"></script> 

我想知道如果有可能將參數傳遞到該腳本文件,如果是這樣,我怎麼在外部文件看懂了嗎?也許這樣的東西:???

<script type="text/javascript" src="myscript.js?id=123"></script> 

謝謝

回答

2

使用JavaScript獨自一人,你能做到這樣:

<script type="text/javascript"> 
function $_GET(q,s) { 
    s = s ? s : window.location.search; 
    var re = new RegExp('&'+q+'(?:=([^&]*))?(?=&|$)','i'); 

    return (s=s.replace(/^?/,'&').match(re)) ? (typeof s[1] == 'undefined' ? '' : decodeURIComponent(s[1])) : undefined; 

} </script> 

然後使用JavaScript函數是這樣的:

// this code would print "hello world" if it was at http://localhost/index.php?var1=hello&var2=world 
var var1 = $_GET('var1'); 
var var2 = $_GET('var2'); 
document.write(var1 + " " + var2); 

全部功勞應該去喬希·弗雷澤,從他們那裏我轉述這個答案。

http://www.onlineaspect.com/2009/06/10/reading-get-variables-with-javascript/

+1

這段代碼(firefox 30.0下)有一個Invalid Quantifier錯誤,我需要在`s.replace`的參數中使用反斜槓來轉義`?`。 – Quentin 2014-07-29 13:10:20

1

在我的例子我正在服務器端語言如PHP -

您可以在HTML文件中包含這一點 -

<script language="javascript" type="text/javascript"> 
    var Str = "<?php echo $variable;?>"; 
</script> 

現在變量str將在所有外部js文件中可用。

+0

@Dan Grossman:在給予低調之前至少先讀我的答案。我已經明確寫道,在我的示例中,我將服務器端語言作爲php,因爲@Wazzy沒有提及他正在使用的服務器端語言。 – Alpesh 2011-01-25 05:02:47

相關問題