dongqiao1888 2018-04-20 12:59
浏览 60
已采纳

错误:Ajax在jquery函数内调用服务器

I am trying to make an ajax call to a server in my local network installed with LAMP who is running wordpress. I am currently doing changes to files in a wordpress plugin.

I want to call a php file located into my server to get json data to build a chart from a sql request.

So I have ajaxStatistics.php where I coded the sql request and the json encode.

Now I am in statistics.js where I have my function to build a chart and this is where I do the ajax call :

jQuery(function() { 
    /**
     * call the ajaxStats.php file to fetch the result from db table.
     */
    $.ajax({
        url : "192.168.1.100/wp-content/plugins/pluginname/ajaxStatistics.php",
        type : "GET",
        success : function(data){
            console.log(data);
            ...

The result is an Uncaught TypeError: Cannot read property 'ajax' of undefined

at HTMLDocument.<anonymous> (statistics.js:92)
    at i (jquery.js?ver=1.12.4:2)
    at Object.fireWith [as resolveWith] (jquery.js?ver=1.12.4:2)
    at Function.ready (jquery.js?ver=1.12.4:2)
    at HTMLDocument.K (jquery.js?ver=1.12.4:2)
  • 写回答

3条回答 默认 最新

  • dparivln22034 2018-04-20 13:05
    关注

    You are trying to access $ as jQuery before it gets initialized so to make it in proper way, you can use DOM load event of it like so...

    $(document).ready(function(){
        function build_statistics() {
            $.ajax({
            url : "http://192.168.1.100/wp-content/plugins/pluginname/ajaxStatistics.php",
            type : "GET",
            success : function(data){
                console.log(data);
            }
        }
    });
    

    And then call it like

    build_statistics()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?