Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript rubyonrails中ajax帖子后未定义的追加_Javascript_Jquery_Ruby On Rails_Ajax - Fatal编程技术网

Javascript rubyonrails中ajax帖子后未定义的追加

Javascript rubyonrails中ajax帖子后未定义的追加,javascript,jquery,ruby-on-rails,ajax,Javascript,Jquery,Ruby On Rails,Ajax,在使用ajax发布之后,我试图添加一些信息 这是我的路线: match 'api/people/', to: 'people#people_get_all', via: [:get] match 'api/people/:id', to: 'people#people_get', via: [:get] match 'api/people/', to: 'people#create', via: [:post] 这是我的javascript: var $people = $('#people

在使用ajax发布之后,我试图添加一些信息

这是我的路线:

match 'api/people/', to: 'people#people_get_all', via: [:get]
match 'api/people/:id', to: 'people#people_get', via: [:get]

match 'api/people/', to: 'people#create', via: [:post]
这是我的javascript:

var $people = $('#people');
var $first_name = $('#first_name');

$('#add_user').on('click', function(){

    var person = {
        person: {
            first_name: $first_name.val(),
            last_name: $last_name.val(),
            location: $location.val(),
            phone: $phone.val()
        }
    };

    $.ajax({
        type: 'POST',
        url: '/api/people/',
        data: person,
        success: function(newPerson){
            $people.append('<p><strong>First Name: </strong>' + newPerson.first_name + '</p>');
        },
        error: function(){
            alert('error saving person to database');
        }
    });

});
这是按下按钮后发生的情况,它将显示未定义的


您需要使用
数据类型:
选项告诉
$.ajax
响应是JSON

$.ajax({
    type: 'POST',
    url: '/api/people/',
    data: person,
    dataType: 'json',
    success: function(newPerson){
        $people.append('<p><strong>First Name: </strong>' + newPerson.first_name + '</p>');
    },
    error: function(){
        alert('error saving person to database');
    }
});
$.ajax({
键入:“POST”,
url:“/api/people/”,
资料:人,,
数据类型:“json”,
成功:功能(newPerson){
$people.append(“名字:”+newPerson.First_Name+”

); }, 错误:函数(){ 警报(“将人员保存到数据库时出错”); } });
确切的错误消息是什么?所有的Javascript代码都在
$(document).ready()
?嘿@Barmar我添加了一张关于发生了什么的图片,没有,但我猜我不需要它,因为它正确地发布到了数据库中,这里的问题是附加通过post添加的新信息。我在
$(function(){…})下有代码
我以为您收到一个Javascript错误,说
$people.append
未定义。在
$.ajax
调用中还需要
数据类型:“json'
$.ajax({
    type: 'POST',
    url: '/api/people/',
    data: person,
    dataType: 'json',
    success: function(newPerson){
        $people.append('<p><strong>First Name: </strong>' + newPerson.first_name + '</p>');
    },
    error: function(){
        alert('error saving person to database');
    }
});