эй, ребята, я читал некоторые другие записи и много старался, но все еще не работал на меня. когда я предупреждаю массив, я получаю все результаты на первом сайте, но после отправки данных на php я просто получаю пустой результат. есть идеи?
$(document).ready(function() {
$('#Btn').click(function() {
var cats = [];
$('#cats input:checked').each(function() {
cats.push(this.value);
});
var st = JSON.stringify(cats);
$.post('foo.php',{data:st},function(data){cats : cats});
window.location = "foo.php";
});
});
Php
$data = json_decode($_POST['data']);
СПАСИБО
мой массив выглядит примерно так, когда я предупреждаю его о доме/квартире, саду/природе, спорте/хобби, это несколько результатов, которые пользователь может выбрать (из флажков). но когда я отправляю его на php, я ничего не получаю. когда я использую маркер запроса (расширение хром), он показывает мне что-то похожее на сырые данные кошек =% 5B% 22house + темы% 22% 2C% 22flat + items% 22% 5D
я также пробовал это way-- все еще нет результатов
$(document).ready(function() {
$('#Btn').click(function() {
var cats = [];
$('#cats input:checked').each(function() {
cats.push(this.value);
alert(cats);
$.ajax({
type: 'POST',
url: "foo.php",
data: {cats: JSON.stringify(cats)},
success: function(data){
alert(data);
}
});
});
window.location = "foo.php";
});
});
PHP:
$json = $_POST['cats'];
$json_string = stripslashes($json);
$data = json_decode($json_string, true);
echo "<pre>";
print_r($data);
это сводит меня с ума
Возьмите этот скрипт: https://github.com/douglascrockford/JSON-js/blob/master/json2.js
И позвоните:
var myJsonString = JSON.stringify(yourArray);
так что теперь ваш код
$(document).ready(function() {
$('#Btn').click(function() {
var cats = [];
$('#cats input:checked').each(function() {
cats.push(this.value);
});
var st = JSON.stringify(cats);
$.post('foo.php',{data:st},function(data){cats : cats});
// window.location = "foo.php"; // comment this by this page redirect to this foo.php
});
});
//и если вы хотите toredirect, используйте ниже код
-------------------------------------------------
$.post('foo.php',{data:st},function(data){
window.location = "foo.php";
});
---------------------------------------------------
Php
$data = json_decode($_POST['data']);
var ItemGroupMappingData = []
Or
var ItemGroupMappingData =
{
"id" : 1,
"name" : "harsh jhaveri",
"email" : "[email protected]"
}
$.ajax({
url: 'url link',
type: 'POST',
dataType: "json",
data: ItemGroupMappingData,
success: function (e) {
// When server send response then it will be comes in as object in e. you can find data //with e.field name or table name
},
error: function (response) {
//alert(' error come here ' + response);
ExceptionHandler(response);
}
});
Попробуй это :-
$data = json_decode($_POST['data'], TRUE);
Я думаю, вы должны переместить "window.location =" в обратный вызов, что означает, что он должен подождать, пока сообщение не будет завершено, а затем перенаправить страницу.
$.post('foo.php', {
data : st
}, function(data) {
window.location = "foo.php";
});