Php 使用ajax发送的数组导致错误400
我想发送一个数组作为数据,但我得到错误的请求 我怎样才能修好它?Php 使用ajax发送的数组导致错误400,php,jquery,ajax,Php,Jquery,Ajax,我想发送一个数组作为数据,但我得到错误的请求 我怎样才能修好它? 它还需要添加其他代码吗 window.csrfTokenName = "{{ craft.config.csrfTokenName|e('js') }}"; window.csrfTokenValue = "{{ craft.request.csrfToken|e('js') }}"; dataString = [ 'Location Zero', 'Location One', 'Location Two' ]; var js
它还需要添加其他代码吗
window.csrfTokenName = "{{ craft.config.csrfTokenName|e('js') }}";
window.csrfTokenValue = "{{ craft.request.csrfToken|e('js') }}";
dataString = [ 'Location Zero', 'Location One', 'Location Two' ];
var jsonString = JSON.stringify(dataString);
$.ajax({
type: "POST",
url: "test",
data: {
data: jsonString
},
cache: false,
success: function() {
alert("OK");
},
error: function(e) {
console.log(e);
},
dataType: "json",
contentType: "application/json"
});
我的第一直觉告诉我,AJAX方法中的URL格式不正确。。“test”是一个包含index.php文件的目录吗 var jsonString=JSON.stringify(dataString)
我的第一直觉告诉我,AJAX方法中的URL格式不正确。。“test”是一个包含index.php文件的目录吗 var jsonString=JSON.stringify(dataString)
如果@silversunhunter的答案不正确,请尝试以这种方式将数组字符串化。按原样发送。代码如下
dataString = [ 'Location Zero', 'Location One', 'Location Two' ];
$.ajax({
type: "POST",
url: "test", // Should this be test.php or /test or ../test or somethign?
data: JSON.stringify({ 'data': dataString }),
cache: false,
success: function() {
alert("OK");
},
error: function(e) {
console.log(e);
},
dataType: "json",
contentType: "application/json"
});
另外,如果@silversunhunter的答案没有尝试以这种方式对数组进行字符串化,请确保您的webmethod需要string[]类型的参数,并将其命名为“data”。按原样发送。代码如下
dataString = [ 'Location Zero', 'Location One', 'Location Two' ];
$.ajax({
type: "POST",
url: "test", // Should this be test.php or /test or ../test or somethign?
data: JSON.stringify({ 'data': dataString }),
cache: false,
success: function() {
alert("OK");
},
error: function(e) {
console.log(e);
},
dataType: "json",
contentType: "application/json"
});
还要确保webmethod需要string[]类型的参数,并命名为“data”应添加以下行:
dataString = [ 'Location Zero', 'Location One', 'Location Two' ];
var ourObj = {};
ourObj.data = dataString;
ajax数据将更改为:
data: {"points" : JSON.stringify(ourObj)},
这个链接很有用!
应添加以下行:
dataString = [ 'Location Zero', 'Location One', 'Location Two' ];
var ourObj = {};
ourObj.data = dataString;
ajax数据将更改为:
data: {"points" : JSON.stringify(ourObj)},
这个链接很有用!
有数千种原因可能导致400错误。检查服务器上的日志以查找错误消息“为什么要首先字符串化数据字符串?”??数据应该是一个数组。侦听此调用的服务是否需要一个数组?可能会出现400错误的原因有数千种。检查服务器上的日志以查找错误消息“为什么要首先字符串化数据字符串?”??数据应该是pojoi侦听此调用的服务是否需要数组?