gpt4 book ai didi

javascript - 传递 JSON 数据并将其取回

转载 作者:行者123 更新时间:2023-11-30 08:47:35 27 4
gpt4 key购买 nike

我是通过 AJAX 传递对象的新手,并且由于我不确定传递和检索,所以我在调试时遇到了麻烦。

基本上,我向 PHP Controller 发出 AJAX 请求,并将数据回显到页面。我不能确定我是否成功传递了我的对象。打印到我的页面 View 时我得到空值。

这是我的js:

// creating a js filters object with sub arrays for each kind
var filters = {};

// specify arrays within the object to hold the the list of elements that need filtering
// names match the input name of the checkbox group the element belongs to
filters['countries'] = ["mexico", "usa", "nigeria"];
filters['stations'] = ["station1", "station2"];
filters['subjects'] = ["math", "science"];

// when a checkbox is clicked
$("input[type=checkbox]").click(function() {

// send my object to server
$.ajax({
type: 'POST',
url: '/results/search_filter',
success: function(response) {
// inject the results
$('#search_results').html(response);
},
data: JSON.stringify({filters: filters})
}); // end ajax setup

});

我的 PHP Controller :

public function search_filter() {

// create an instance of the view
$filtered_results = View::instance('v_results_search_filter');

$filtered_results->filters = $_POST['filters'];

echo $filtered_results;

}

我的 PHP View :

<?php var_dump($filters);?>

也许我需要使用 jsondecode PHP 函数,但我不确定我的对象是否首先被传递。

最佳答案

IIRC $.ajax jQuery方法的data属性直接接受json数据,这里不需要使用JSON.stringify :

data: {filters: filters}

通过这种方式,您将收到作为适合在 PHP 中通过 $_POST 超全局数组读取的常规键/值对的 json 数据,正如您所期望的那样。

关于javascript - 传递 JSON 数据并将其取回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20694531/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com