Ajax请求调用json文件

时间:2014-01-17 06:47:09

标签: jquery ajax

我想在我的div标签的Employee对象中放置name的值,他的id是#taarget。每当我点击我的按钮时,他的身份证是#driver

这是我的jquery代码

$(document).ready(function () {
    $("#driver").click(function () {
        $.ajax(ajaxoptions);
        // Ajax request sucess--
        var successpage = function (resp) {
            $("#target").html(resp.Employee[0].Name);
        };
        // Ajax request fail--
        var failurerror = function (req, status, err) {
            console.log('something went wrong', status, err);
        };
        // create a obect to make ajax request--
        var ajaxoptions = {
            url: "EmpDetails.json",
            dataType: "json",
            contentType: "application/json";
            success: successpage,
            error: failurerror
        };
    });
});

这里是我的json文件.. EmpDeails.json

               {
                 "Employee":
                 [
                   {
                     "Name": "Amit",
                 "Designation": "Trainee",
                 "Area": "Development"
                   },
                   {
                     "Name":"Rahul",
                     "Designation": "Developer"
                     "Area":"Designing"     
                   },
                   {
                     "Name":"Sachin",
                 "Designation": "M.D"
                 "Area":"Management"
                   }
                ]
               }

嘿我在jquery中的新东西..我的代码没有运行任何人可以帮助我使我的代码可运行..这将是欣赏能够..

1 个答案:

答案 0 :(得分:2)

两件事:

  1. 在填写选项对象之前,您正在调用$.ajax,所以这一行:

    $.ajax(ajaxoptions);
    

    ...正在使用undefined调用该函数。在之后创建选项对象时,请不要拨打电话。

  2. 您在制作ajaxoptions对象时遇到语法错误和API错误:

    var ajaxoptions = {
        url: "EmpDetails.json",
        dataType: "json",
        contentType: "application/json"; // <=== On this line
        success: successpage,
        error: failurerror
    };
    

    语法错误最后是;(应该是,)。 API错误是因为您没有向页面发送任何参数,所以根本不需要指定contentType。这告诉服务器您正在发送数据的格式。你没有发送服务器JSON。

  3. 这是一个相当小的更新:

    $(document).ready(function () {
        $("#driver").click(function () {
    
            // Ajax request sucess--
            var successpage = function (resp) {
                $("#target").html(resp.Employee[0].Name);
            };
            // Ajax request fail--
            var failurerror = function (req, status, err) {
                console.log('something went wrong', status, err);
            };
            // make ajax request--
            $.ajax({
                url:      "EmpDetails.json",
                dataType: "json",
                success:  successpage,
                error:    failurerror
            });
        });
    });
    

    很多人会这样写:

    $(document).ready(function () {
        $("#driver").click(function () {
    
            // make ajax request--
            $.ajax({
                url:      "EmpDetails.json",
                dataType: "json",
                success:  function (resp) {
                    $("#target").html(resp.Employee[0].Name);
                },
                error:    function (req, status, err) {
                    console.log('something went wrong', status, err);
                }
            });
        });
    });
    

    但是,首先按照您的方式定义功能有助于清晰。如果您要这样做,您可以考虑使用函数声明而不是表达式,这样函数将在JavaScript引擎上具有正确的名称,这些名称尚未根据即将推出的ES6规范推断出函数名称:

    $(document).ready(function () {
        $("#driver").click(function () {
    
            // Ajax request sucess--
            function successpage(resp) {
                $("#target").html(resp.Employee[0].Name);
            }
            // Ajax request fail--
            function failurerror(req, status, err) {
                console.log('something went wrong', status, err);
            }
            // make ajax request--
            $.ajax({
                url:      "EmpDetails.json",
                dataType: "json",
                success:  successpage,
                error:    failurerror
            });
        });
    });