Javascript 通过带有字符串索引的Ajax发送数组
当我试图通过Ajax发布带有字符串索引的数组时,不会传输任何数据。 请告诉我原因Javascript 通过带有字符串索引的Ajax发送数组,javascript,jquery,ajax,Javascript,Jquery,Ajax,当我试图通过Ajax发布带有字符串索引的数组时,不会传输任何数据。 请告诉我原因 var coord=new Array; coord["x"]=12; coord["y"]=12; coord["w"]=44; coord["h"]=66; console.lo
var coord=new Array;
coord["x"]=12;
coord["y"]=12;
coord["w"]=44;
coord["h"]=66;
console.log(coord);
var parameter={coord:coord};
$.ajax({
type: 'POST',
data: parameter,
dataType: 'json',
context: this,
url:'http://localhost/server/main/crop_image',
success: function(response) {
},
error: function() {
},
complete: function() {
}
});
更改行
var-coord=新数组代码>到var-coord={}
(对象不是数组)
javascript中的数组是对象,因此可以执行coord[“x”]=“bla bla”
(与coord.x=“bla bla”
)操作,但JSON中的数组是对象列表,因此jQuery在将数据转换为JSON时会忽略数组对象的非列表属性
通过将coord更改为对象而不是数组,jQuery将把它转换为JSON对象,该对象按您的预期工作。更改行var-coord=new-Array代码>到var-coord={}
(对象不是数组)
javascript中的数组是对象,因此可以执行coord[“x”]=“bla bla”
(与coord.x=“bla bla”
)操作,但JSON中的数组是对象列表,因此jQuery在将数据转换为JSON时会忽略数组对象的非列表属性
通过将coord更改为对象而不是数组,jQuery将把它转换为JSON对象,该对象按您的预期工作。更改行var-coord=new-Array代码>到var-coord={}
(对象不是数组)
javascript中的数组是对象,因此可以执行coord[“x”]=“bla bla”
(与coord.x=“bla bla”
)操作,但JSON中的数组是对象列表,因此jQuery在将数据转换为JSON时会忽略数组对象的非列表属性
通过将coord更改为对象而不是数组,jQuery将把它转换为JSON对象,该对象按您的预期工作。更改行var-coord=new-Array代码>到var-coord={}
(对象不是数组)
javascript中的数组是对象,因此可以执行coord[“x”]=“bla bla”
(与coord.x=“bla bla”
)操作,但JSON中的数组是对象列表,因此jQuery在将数据转换为JSON时会忽略数组对象的非列表属性
通过将coord更改为对象而不是数组,jQuery将把它转换为JSON对象,它的工作方式与您期望的一样。尝试类似的方法
var parameter={coord:coord.join()};
在客户端,您将获得csv值,您可以根据服务器端语言再次将其转换为数组
PHP
$pizza = "piece1,piece2,piece3";
$pieces = explode(",", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
JAVA
String[] ary = "piece1,piece2,piece3".split(",");
试试这样的
var parameter={coord:coord.join()};
在客户端,您将获得csv值,您可以根据服务器端语言再次将其转换为数组
PHP
$pizza = "piece1,piece2,piece3";
$pieces = explode(",", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
JAVA
String[] ary = "piece1,piece2,piece3".split(",");
试试这样的
var parameter={coord:coord.join()};
在客户端,您将获得csv值,您可以根据服务器端语言再次将其转换为数组
PHP
$pizza = "piece1,piece2,piece3";
$pieces = explode(",", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
JAVA
String[] ary = "piece1,piece2,piece3".split(",");
试试这样的
var parameter={coord:coord.join()};
在客户端,您将获得csv值,您可以根据服务器端语言再次将其转换为数组
PHP
$pizza = "piece1,piece2,piece3";
$pieces = explode(",", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
JAVA
String[] ary = "piece1,piece2,piece3".split(",");
您正在使用字符串向数组添加值,这会向数组对象添加属性,而不是实际数组值
你有两个选择:
使用对象{}
而不是新数组
,或者
使用coord.push(12);协调推进(42)代码>等
希望对您有所帮助。您正在使用字符串向数组添加值,这会向数组对象添加属性,而不是实际的数组值
你有两个选择:
使用对象{}
而不是新数组
,或者
使用coord.push(12);协调推进(42)代码>等
希望对您有所帮助。您正在使用字符串向数组添加值,这会向数组对象添加属性,而不是实际的数组值
你有两个选择:
使用对象{}
而不是新数组
,或者
使用coord.push(12);协调推进(42)代码>等
希望对您有所帮助。您正在使用字符串向数组添加值,这会向数组对象添加属性,而不是实际的数组值
你有两个选择:
使用对象{}
而不是新数组
,或者
使用coord.push(12);协调推进(42)代码>等
希望对您有所帮助。带字符串索引的数组其非数组:-)其简单对象,无论如何尝试使用数据:JSON.stringify(参数)
带字符串索引的数组其非数组:-)其简单对象,无论如何尝试使用数据:JSON.stringify(参数)
带字符串索引的数组其非数组:-)其简单对象,无论如何,请尝试使用data:JSON.stringify(参数)
array及其字符串索引,而不是array:-)其简单对象,无论如何,请尝试使用data:JSON.stringify(参数)