1

我正在尝试使用 jQuery 发送要在另一个页面上处理的输入,但我在让它工作时遇到了一些麻烦。

当我打开网络控制台时,我可以看到一个设置为 common_functions 的 GET 方法,但它没有附加任何变量。我得到这个

http://localhost/project/common_functions.php

而不是像

http://localhost/project/common_functions.php?name=abcdef

这是我的 HTML。据我所知,这很好,因为我从接收输入的函数中收到警报

<form method="post">
<table>
<tr><td>Project Name</td><td><input type = "textbox" name="project_name" id = "project_name" onkeyup = "get_name(this.value);" /></td></tr>
<tr><td>Project Description</td><td><input type = "textbox" name="project_name" id = "project_description" onkeyup = "get_description(this.value);"/></td></tr>
<tr><td><input type="submit" name="submit_project"></td></tr>
</table>
</form> 

这是jQuery。我正在尝试发送 GET 请求。

function get_name(name){
    var project_name = name;
    $.get('common_functions.php', function(name) {
        alert(project_name); //this displays the name
        $('#project_name').html(name);
    });
}

当我有这个时,我会收到一个警报,所以我知道它至少在确认 onkeyup。

4

2 回答 2

3

您没有发送任何数据。您可以将数据附加到脚本名称或将其作为键值对发送:

$.get('common_functions.php', {'project_name': name}, function(data) {

而且我不会在回调函数中使用相同的变量名,这只会导致混乱。

于 2012-12-11T02:11:07.583 回答
0

您期望看到的是,如果您使用以下参数调用 get 函数。

var url = 'common_functions.php?project_name=' + Name;

$.get(url , function(name) {
    alert(project_name); //this displays the name
    $('#project_name').html(name);
});

第二个参数只是返回函数,当您对 common_functions.php 的调用返回时,这将被调用。

正如@jeroen 所展示的那样,最好的方法就是这样做。

于 2012-12-11T02:16:36.620 回答