Javascript 使用API设置状态不工作;状态是一个空对象

Javascript 使用API设置状态不工作;状态是一个空对象,javascript,reactjs,Javascript,Reactjs,这是有问题的React组件 import React from 'react'; class JSONTest extends React.Component { constructor(props) { super(props); this.state = { title: '', description: '', lang: '' } } com

这是有问题的React组件

import React from 'react';

class JSONTest extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            title: '',
            description: '',
            lang: ''
        }
    }

    componentDidMount() {
        this.serverRequest = $.ajax({
            url: "/jinra/api/public/test",
            success: (data) => {
                this.setState({
                    title: data.title,
                    description: data.description,
                    lang: data.lang
                });
            }
        })
    }


    componentWillUnmount() {
        this.serverRequest.abort();
    }

    render() {
        return (
            <div>
                <h1>Title: {this.state.title}</h1>
                <p>Description: {this.state.description}</p>
                <p>Language(s): {this.state.lang}</p>
            </div>
        )
    }
};

module.exports = JSONTest;

我做错了什么?我假设this.setState重新呈现视图,但情况显然不是这样。

我认为您需要告诉$.ajax有关json或json.parse响应的信息,否则,data.anythis将是未定义的。谢谢,就是这样!添加dataType:json修复了这个问题。
{"title":"Title","description":"This is a description.","lang":"Python"}