jQuery的load()注意事项

我一直认为jquery的load函数是以GET方式请求另一个文件并加载到当前DOM里的。当我带参数加载一个ASP脚本时是这样做:

$(”#showData”).load(”test.asp”,{id:12});

test.asp内容:

<%

response.write “ID:” & request(”id”)

%>

执行后,DOM里的showData元素就会加载test.asp脚本输出的结果ID:12。这本身并没有错。但我换成PHP脚本就不行了:

$(”#showData”).load(”test.php”,{id:12});

test.php内容:

<?php

echo “ID:”.$_GET[”id”];

?>

执行后显示的结果永远是ID:。12怎么也不显。我很是郁闷。只好认认真真看jquery文档。于是我发现关于load()函数有这样一句:

A GET request will be performed by default – but if you pass in any extra parameters then a POST will occur.

问题就在这里,load()在没有参数的默认情况下是以GET方式请求,但如果带有参数,将以POST方式请求。我在用ASP脚本时,request(”id”)是可以读取GET和POST参数的,但在PHP脚本下这两种方式要分别用$_GET和$_POST读取。很显然我的test.php脚本里用$_GET[”id”],是读不出来的。换成$_POST[”id”]后问题解决。



发表评论

您的电子邮箱地址不会被公开。

+ 23 = 31