У меня есть два простых PHP страницы:JQuery AJAX POST ошибка запроса передачи значений
notification.php
<html>
<head><title></title>
<meta charset="UTF-8">
<script src="https://cdn.firebase.com/js/client/2.4.2/firebase.js"></script>
<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
<script src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
</head >
<body>
<script language="JavaScript" >
function gotData(data) {
var toSave = "token=22"; //just a try not a real token
toSave +="&";
var allPropertyNames = Object.keys(data);
var SIZEITEM = allPropertyNames.length;
for (var j=0; j<SIZEITEM; j++) {
var name = allPropertyNames[j];
var value = data[name];
toSave +=name+"="+value;
if(j < SIZEITEM-1)
toSave +="&";
}
console.log(toSave);
$.ajax({
url : "notification_okvalue.php",
type: "POST",
dataType : 'text',
data : {toSave:toSave},
success : function(sended) {
console.log("sucessfull sending:")
console.log(sended);
},
error : function() {
console.log('failed');
}
});
}
</script>
<script src="https://MYFIREBASE.firebaseio.com/chats/-KF4foKsJxIFbLEVxdNC/group.json?callback=gotData"></script>
</body>
</html>
И notification_okvalue.php
<html>
<head>
<title></title>
</head>
<body>
<script language="JavaScript">
var ref = new Firebase("https://MYFIREBASE.firebaseio.com/");
ref.child("prova").set(
{
all_ok:"<?php echo $_POST["token"];?>";
});
</script>
</body>
</html>
Консоль дает мне успешной отправки строки и console.log(toSave)
дайте мне правую строку
маркер = 22 & -KF4foL4E4E2V4oPU-Сi = -KF4fi_gWTE4MQ5Bqskw & -KF4foL7g09NGKnQbouU = -KF4fJpvZC6LgbltEesZ
Но когда вызов проходит весь код, как POST действительно console.log(sended)
вернуть мне весь код notification_okvalue.php
И, конечно, я получаю ошибку в notification_okvalue.php, что $_POST["token"] is not setted
EDIT для более конкретно, мне действительно не нужен ответ notification_okvalue.php
, но мне нужно, чтобы все переданное значение $ _POST хранилось в Firebase. Так что мне нужна запись Firebase.
Remove DATATYPE: «текст» или изменения «текст» в формате JSON или все, что вы возвращаетесь. – Webice
Я возвращаю строку, которую вы можете прочитать выше 'token = 22 & -KF4foL4E4E2V4oPU-cI = -KF4fi_gWTE4MQ5Bqskw & -KF4foL7g09NGKnQbouU = -KF4fJpvZC6LgbltEesZ', я попытался удалить dataType, а также изменить на json. Когда я удаляю его, результат будет таким же, с json, вызванный вызовом – Alfox
Я думаю, что ваш toSave отформатирован как запрос и [это неправильно] (http://stackoverflow.com/questions/5876809/do-http-post- методы-отправить-данные, как-строка запрос). Вместо этого создайте объект JSON: '{'token': 22, // etc ...}' – KWeiss