2017-01-03 4 views
0

я мои данные сохраняются в URL domain/data.json следующим образом:Как сделать запрос POST с использованием AJAX с Firebase?

[{ 
"title": "first thought", 
"content": 
    { 
    "desc":"This is the first thought", 
    "img":"img.png" 
    } 
}, 
{ 
"title": "second thought", 
"content": 
    { 
    "desc":"This is the second thought", 
    "img":"img.png" 
    } 
} 
}] 

Как я могу сделать запрос POST с помощью AJAX к этим данным? Я попробовал код ниже, но это дало мне неправильную ошибку запроса. Я также попытался протестировать его с расширением ARM, но он не сработал.

$.ajax({ 
    url: "https://musing-83d85.firebaseio.com/thoughts.json", 
    type: "POST", 
    crossDomain: true, 
    dataType: "json", 
    data: { 
    content: 
    { 
     desc:"This is the new thought", 
     img:"imgn.png" 
    }, 
    title:"new title" 
    }, // Data sent to server, a set of key/value pairs (i.e. form  fields and values) 
    success: function(data){ // A function to be called if request succeeds 
    this.setState({thought: data}); 
    }.bind(this) 
}); 

Но это не сработало.

+0

Пожалуйста, поделитесь [минимальным полным кодом, который воспроизводит проблему] (http://stackoverflow.com/help/mcve). MCVE включает в себя JSON, который вы публикуете (присутствуете), URL-адрес, который вы публикуете (отсутствует), код, который вы используете для публикации (отсутствует) * и * сообщение об ошибке, которое вы получаете (отсутствует). –

+0

Вы не можете использовать только данные 'POST' для статического файла. Для обработки запроса необходим серверный процесс. Почему вы не используете [базу данных Firebase и JavaScript SDK] (https://firebase.google.com/docs/database/web/read-and-write)? – Phil

ответ

0

На самом деле, ваша проблема имеет очень простое решение. Возможно, вы уже поняли это сами.

Файл json, который вы опубликовали выше, НЕВОЗМОЖНО json. (см. jsonlint.com)

Аналогичным образом, используя Firebase, попробуйте использовать только объекты/объекты объектов. (Вот хорошая статья, которую я нашел по поводу почему https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html)

Ваш код ajax выглядит хорошо, но у вас не будет успешного поста, если вы не отправляете действительный json. Вы также можете попробовать использовать такой инструмент, как почтальон, чтобы проверить свои операции с CRUD и ваши данные json перед вводом кода. Я также рекомендую это сделать.

Надеюсь, это поможет! Ура!

Смежные вопросы