为什么 AJAX 不工作


Why isn't AJAX working?

我正在尝试对一个简单的php脚本执行一个简单的ajax调用,以测试ajax是否正常工作。

.HTML:

<button id="hi">hi</button>

.JS:

<script type="text/javascript">
$( "#hi" ).click(function(){
   var dataString = "hi";
   $.ajax({
     url: "custom_scripts/hi.php",
     type: "POST",
     dataType:'json',
     data: dataString,
     cache: false,
     success: function(data){
       if(data.auth==true){
         alert("success: " + data.auth);
       }         
     }
   }) 

});

.PHP:

<?php
    $hi=$_POST['hi'];
    $rVal=array("auth" => false);
    if(isset($hi)){
        $rVal['auth']=true;
    } else {
        $rVal['auth']=false;
    }
    echo json_encode($rVal);
?>

是否有任何其他脚本或库(来自任何语言)会干扰 ajax 调用?当我逐步完成时,它正在到达呼叫,它没有返回任何数据(控制台中也没有错误)......

你只需要将 Ajax 数据传递为:

 data: "hi="+dataString,

完整的 Ajax 示例:

$( "#hi" ).click(function(){
   var dataString = "hi";
   $.ajax({
     url: "custom_scripts/hi.php",
     type: "POST",
     dataType:'json',
     data: "hi="+dataString,
     cache: false,
     success: function(data){
       if(data.auth==true){
         alert("success: " + data.auth);
       }         
     }
   }) 
}); 

在您的示例中,如果您检查浏览器控制台,则会得到Undefined Index Notice