为什么我不能操纵这个ajax调用的数据?

时间:2018-03-25 23:36:52

标签: javascript jquery ajax

我正在localhost:3000上向我的json服务器发送一个ajax调用,并试图让一个对象返回来操作并在网页上显示。无论我做什么,我似乎无法控制日志(数据)以便使用该对象。

这是我的HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="main.css">
</head>
<body>
<div id="parent">
    <input id="title" placeholder="Blog Title">
    <br>
    <input id="body" placeholder="Post Body">
    <br>
    <button onclick="request()">Submit</button>
</div>
<div id="comments"></div>
<div id="posts"></div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="main.js"></script>
</body>
</html>

和我的Javascript一样:

"use strict";

function request() {
    debugger;
    $.ajax({
        dataType: 'json',
        url: "http://localhost:3000",
        success: function(data) {
            console.log(data);
        }
    });
}

感谢任何帮助。我确定我在这里做错了很简单。我已经参考了许多网页,以获取更多信息,例如https://api.jquery.com/jQuery.ajax/#optionshttps://github.com/typicode/json-server以及其他堆栈溢出问题。

2 个答案:

答案 0 :(得分:0)

您在下面的示例中缺少JQuery AJAX调用检查中的一些信息。如果您需要获取应该调用的帖子,请确保调用正确的API路径 json-server {{ 1}} http://localhost:3000/posts而非url

&#13;
&#13;
http://localhost:3000
&#13;
$.ajax({
    type: "GET", // Define the HTTP method to use for the request
    dataType: 'json',
    url: "https://mathiasbynens.be/demo/ip",
    success: function (result) { 
        // On call success
        console.log(JSON.stringify(result));
    }
    , error: function (result) {
        // On call error
        console.log(JSON.stringify(result));
    },
    failure: function (result) {
        // On call failure
        console.log(JSON.stringify(result));
    }
});
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

您需要在ajax调用中添加一些信息:

  • type电话(发布,获取)
  • 使用您的脚本
  • 可访问url
  • data您要发送

示例:

function request() {
    $.ajax({
        // add 'post' type if your getting data with $_POST
        type : 'post',
        dataType: 'json',
        // be sure that your script is reachable from this url
        url: "http://localhost:3000",
        // you need to add data to send to given url
        data: {
            title: $('#title').val(),
            body: $('#body').val(),
        },
        success: function(data) {
            console.log(data);
        }
    });
}