我已经阅读过这些问题,但没有一个能满足我的需求:
(最新的一个说只是添加硬编码的引号,['']但我不能这样做,我正在调用一个返回数组的函数)
所以这是我的代码(注意问题在于空数组new Array()):
function AjaxSend() {
$.ajax({
url: '/json/myurl/',
type: 'POST',
dataType: 'jsonp',
data : { 'tab':new Array() },
context: this,
success: function (data) {
if (data.success) {
console.log('ok');
}
else {
console.log('error');
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
简单呃?这是我的Php代码:
echo '_POST='.var_export($_POST,true)."\n";
Run Code Online (Sandbox Code Playgroud)
这是结果:
_POST=array (
)
jQuery1710713708313414827_1329923973282(...)
Run Code Online (Sandbox Code Playgroud)
如果我将空数组更改为非空,即:
'tab':new Array({ 't':'u' },{ 'v':'w' })
Run Code Online (Sandbox Code Playgroud)
结果是:
_POST=array (
'tab' =>
array (
0 =>
array (
't' => 'u', …Run Code Online (Sandbox Code Playgroud) 我有一个简单的 ajax 调用,例如:
$.ajax({
url: ... ,
data: { anArray: [] },
...
});
Run Code Online (Sandbox Code Playgroud)
和控制器的动作:
public ActionResult Test(int[] anArray) {
...
}
Run Code Online (Sandbox Code Playgroud)
似乎anArray是 null 而不是空数组。
我也尝试过
List<int>string[]object[]但对于上述所有内容,我看到anArray参数为空。
我读过类似的问题,但有与模型参数相关的问题,我这里没有模型。
如何在控制器的操作中接收空数组?我应该怎么办 ?