0

带有 AJAX 的 JQuery 无法从 php 页面获取内容

我尝试按下提交按钮,没有任何变化。不知道为什么

这是我的 2 页

jQuery.php

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>

<script>
    $(document).ready(function(){

    $("#input").click(function(){

$.ajax({
    url: 'jquery2.php?keyword='+$("#fname").val(),
    type: 'GET',
    success: function (data) {$("#newhtml").val(data);}
});

    })


    });

    </script>

</head>
<body>
First name: <input type="text" id="fname" name="fname"><br>
<input type="button" id="input" value="Search Data">
<div id="newhtml"></div>
</body>
</html>

jQuery2.php

<?php
    $advert = array(
        'ajax' => 'Hello world!',
        'advert' => $row['adverts'],
     );
    echo json_encode($advert);
?>

我的代码有什么问题吗?

4

4 回答 4

1

这个

$("#newhtml").val(data);

应该

$("#newhtml").html(data);
// OR
$("#newhtml").append(data);

您可能还需要添加

dataType: "json",
contentType: "application/json"

成功回调之前的ajax方法的属性。

更新

总的来说,你的 head 标签中的代码应该是这样的

<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>

<script type="text/javascript">
  $(document).ready(function() {
     $("#input").click(function(){
        $.ajax({
          url: 'jquery2.php?keyword='+$("#fname").val(),
          type: 'GET',
          dataType: "json",
          contentType: "application/json",
          success: function (data) {
            $("#newhtml").html(data);
          }
        });
    });
 });

</script>

</head>
于 2013-10-03T08:09:24.147 回答
0

尝试改变

success: function (data) {$("#newhtml").val(data);}

success: function (data) {$("#newhtml").html(data);}
于 2013-10-03T08:10:24.043 回答
0

不要使用多个 jquery 源。仅使用您引用的这两个中的一个。

对于非 INPUT 标签,您必须使用 .html() 或 .text()

于 2013-10-03T08:11:27.707 回答
0

Jquery2.php 抛出错误:“注意:未定义的变量:[...]/Jquery2.php 中的第 4行中的行”

$row['adverts']未定义。

此外,更改以下内容:

$("#newhtml").val(data);

$("#newhtml").html(数据);
于 2013-10-03T08:13:16.097 回答