繁体   English   中英

jQuery ajax是不是在调用我的php文件?

[英]jQuery ajax isn't calling my php file?

好的,所以我总是n00b,但我只是想让jQuery调用我的php脚本并获取返回数据。 当我运行它时,它似乎没有尝试访问我的PHP文件,而只是将“?wd =”添加到我的URL在url栏中,在任何地方都没有“lookup.php”。 当我直接调用它时,php脚本工作正常。 我已经尝试了很多东西,我只是尝试了一个小巧的工作最小的例子,然后我编辑它来使用我的网址,看看它是否会起作用,它打破了小提琴。 那么为什么jQuery似乎讨厌我的php文件呢?

<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$("#input").on("submit", function()
{
    var wd = $("#word").val();
    $.ajax({
      url: "lookup.php",
      data: {word:wd},
      success:function(result){
          $("#return").html(result);
        }
    });
    return false;
});

});
</script>
</head>
<body>
<form id="input" action="">
Word:<input type="text" name="word" autofocus /><br />
<input type="submit" value="Submit" />
</form>
<br />
<div id="return"><b>Return data here</b></div>
</body>
</html>

和我的PHP:

<?php
$word = $_GET['wd'];
if ($word=="hi") {
echo "<p>Hey there!</p>";
} else {
echo "<p>Mi dispiace :-(</p>";
}
?>

我确信这是非常明显的,所以你提前花了几秒钟来帮助我。

你使用过var wd = $(“#word”)。val(); 在js

但是对于html中的文本框,你没有给出id

请为您的文本框添加ID并尝试

<input type="text" id="word" name="word" autofocus />

要么

编辑你的js如下

var wd=$("input[name=word]").val();

因为您在PHP中使用GET请求。 你需要为你的ajax调用提供type: "GET"

$.ajax({
    type: 'GET', // <-- Here
    url: "lookup.php",
    data: {word:wd},
    success:function(result){
        $("#return").html(result);
    }
});

您还缺少输入的id

<input type="text" id="word" name="word" autofocus />

因为你使用$("#word").val()来获取你输入的值。

你必须包括ajax的类型

<script type="text/javascript">
$(function(){
$("#input").on("submit", function()
{
    var wd = $("#word").val();
    $.ajax({
      url: "lookup.php",
     type : "GET",  // GET or  POST 
      data: {word:wd},
      success:function(result){
          $("#return").html(result);
        }
    });
    return false;
});

});
</script>

您正在名为“name”的文本框上调用方法“val()”,该文本框未定义。 您应该使用“id = name”而不是“name = name”来使用js上的对象

这不起作用,因为您的文本框没有任何属性ID,您尝试使用#word使用此行来访问它的值

var wd = $("#word").val();

要获得所需的结果,请在html代码中的输入文本字段中添加id =“word”属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM