是否可以将GET或POST变量传递给外部javascript
我想知道是否可以将任何变量传递给外部 java脚本文件
例如
我有这个
我想知道是否可以将参数传递给该脚本文件,如果是这样,我如何在外部文件中读取它? 也许这样的东西:???
谢谢
单独使用javascript,你可以这样做:
然后以这种方式使用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);
要从javascript的src标记获取所需的参数,您可以执行以下操作:
// get the src parameter and split it down to the search query string var src = document.getElementById('example').src; params = src.split('?'); var var1 = $_GET('var1','?'+params[1]);
感谢Josh Fraser,我从这个答案中解释了这个问题。 http://www.onlineaspect.com/2009/06/10/reading-get-variables-with-javascript/
现在在gallery.js
,可以使用JavaScript变量x
访问PHP变量$x
的值。 确保生成语法正确的JavaScript。
您不“将变量传递给外部脚本”,而是下载脚本,并使用常规函数调用传递变量,在客户端计算机中执行脚本。
如果javascript代码要在服务器中执行,那么您可以使用数据库临时保存值或使用服务器端javascript
如果javascript代码意图由第三方执行,与客户端或主机无关,则必须将值存储在数据库中。
tl; dr,是的,但你需要使用服务器端语言
这似乎是解释Web服务器 – 客户端交互的细节的好时机。 这是最基本的解释:
当客户端请求文件(页面,图片或脚本)时,服务器在相应的文件夹中查找它。 如果没有找到它会发回一个熟悉的404代码,或者如果找到它,它会发回该文件的内容(当然包装在http头文件中)。
对于动态页面(如.php
文件),Web服务器必须采取略微不同的行为。 在将它们发送到客户端之前,服务器通过称为解析器的程序运行该文件。 然后它将解析器的输出发送回客户端(解析器也可以修改头)。 请求变量(URL中的’?’后面的位或POST请求发送的变量)以某种方式可用于动态脚本。 在PHP中,它们可以使用$ _GET / POST全局变量。 这些变量由服务器而不是客户端解析,因此您可以将它们放在任何位置。
现在,特别针对您的问题,当您使用标记时,客户端会询问
href
属性指定的文件。 这不一定是.js
文件,这只是惯例。 type
属性告诉客户端它是什么类型的文件。 如果您编写PHP(或其他)代码来生成Javascript(即使include 'file1.js'
),您可以使用PHP来获取已发送的GET / POST变量。 然后发送的Javascript由客户端执行。
对不起,如果这涵盖了你已经知道的东西,我只是想完成