页面加载时AJAX成功功能不起作用

时间:2016-06-20 03:25:35

标签: javascript php jquery ajax

这是我在ajax中的代码

function loadcountries()
              {
                var p = document.getElementById("selectCntry");

                while(p.firstChild)
                {
                  p.removeChild(p.firstChild);
                }
               var data = {
                        action: "loadccc"
                        };
                        jQuery.ajax
                        (
                          {
                            type: "POST",
                            url: "ajax-ows2.php",
                            dataType: 'json',
                            async:false,
                            data:data,
                            success: function(msg) 
                            {
                            alert(msg.test);                     
                            }
                          }
                        ); 

              }

这是我的ajax-ows2.php

<?php


$action = $_POST["action"];

include "dbconnect.php";

if($action == "loadccc")
{
    $var = $action;
    $response_array['test'] = $var;

    header('Content-type: application/json');
    echo json_encode($response_array);
}

?>

这是我的函数调用:

 <script>

  window.onload = loadcountries;

  </script>

我的ajax方式不同。我真的不知道为什么它在页面加载时不会发出警报。我真的很确定我的ajax-ows2.php是好的,我确信我的函数调用是正确的。有人可以帮我这个。这不是重复的。我试图使用asynch:false但仍然没有工作。

1 个答案:

答案 0 :(得分:0)

尝试以下格式:

$.ajax({
    method: "POST",
    contentType: "application/json; charset=utf-8",
    data: data,
    url: 'ajax-ows2.php',
    success: function (data) {
        console.log(data);      
    },
    error: function (error){
        console.log(error);
    }
});

因为您正在使用POST方法,所以您的数据参数必须是stringify,https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify