【发布时间】:2020-04-27 04:54:02
【问题描述】:
我的 AJAX 帖子中有两个数组。一个始终有效,另一个在服务器上变为空。在它们被发送之前,它们看起来和我一模一样,这就是为什么我非常困惑为什么它不起作用。
数组 A,始终有效console.log():
0: "content_description_back_button"
1: "search_city_no_results"
数组B,变为空console.log():
search_city_no_results_x: "No results. Please change your search query"
content_description_back_button_xxx: "back"
POST 代码:
$.ajax({
url : '/home/update_xml',
type : "post",
data : {'new_keys': array_B, 'deactivate_keys': array_A},
success : function(response) {
console.log("update_xml", response);
},
error : function(xhr) {
console.log("update_xml", xhr);
}
});
服务器\Log::info($data->new_keys);:
只是一个空字符串,什么都没有。
服务器\Log::info($data->deactivate_keys);:
array (
0 => 'content_description_back_button',
1 => 'search_city_no_results',
)
到目前为止我做了什么:
我已经为 AJAX 帖子尝试了大量不同的语法组合。
例子:
contentType: 'application/json;charset=UTF-8',
dataType: "json",
data : JSON.stringify({'new_keys': array_B, 'deactivate_keys': array_A})
我试过contentType -> ContentType
我尝试了不同的组合,但结果总是一样的。阵列 A 始终有效。服务器上的数组 B 为空。
在console.log() 中,它们看起来和我一模一样。他们都作为阵列受到威胁。
【问题讨论】:
-
var_dump($data);的输出是什么? -
这很奇怪。我挣扎了将近 1 个小时,但是在我创建这个线程之后,我找到了解决方案。数组 B 应该作为 JS 中的字典受到威胁。我在填充之前有
array_b=[];,但它必须是array_b={};
标签: php arrays ajax laravel post