我有ajax电话:
$.ajax({
url: '/articles/moveArticle/' + article.id,
type: 'POST',
dataType: 'json',
success: function(result) {
console.log(result);
//something
},
error: function (result) {
}
});
ajax调用的php函数是:
function moveArticle ($articleId) {
// move it
}
这很好但是如何发送多个参数?
答案 0 :(得分:2)
您可以创建一个对象,然后使用JSON.stringify(data)
var data ={
id : article.id,
name : article.name // other parameters
}
$.ajax({
url: '/articles/moveArticle',
type: 'POST',
dataType: 'json',
data = JSON.stringify(data),
success: function(result) {
console.log(result);
//something
},
error: function (result) {
}
});
答案 1 :(得分:1)
在ajax调用中使用data
参数。
https://api.jquery.com/jQuery.ajax/
修改强>
当我读到其他答案时,我决定加强我的答案。
jQuery文档中陈述的 dataType
参数代表:
您期望从服务器返回的数据类型。
这意味着您期待来自服务器的JSON数据。如果将dataType
设置为json,则并不意味着您要向服务器发送JSON对象。
您设置的ajax调用中有一个参数,它是type
。此参数说明了如何将data
发送到服务器。您使用了POST
方法。这意味着PHP可以从data
数组
$_POST
中设置的任何内容
$.ajax({
url: '/articles/moveArticle/' + article.id,
type: 'POST',
dataType: 'json',
data: {
something: 'Something that can be accessed by PHP as $_POST["something"]',
},
success: function(result) {
console.log(result);
//something
},
error: function (result) {
}
});
答案 2 :(得分:1)
通过函数moveArticle
,我猜你使用了一些php框架
不知道哪一个 - 不可能回答。
从函数的结构 - 我假设它使用路由 - 所以它不是一个POST请求(这就是为什么我忽略了data
使用其他人提到的。)
所以,我最好的猜测是:
$.ajax({
url: '/articles/moveArticle/' + article.id + '/' + anotherParameter,
type: 'POST',
dataType: 'json',
success: function(result) {
console.log(result);
//something
},
error: function (result) {
}
});
function moveArticle ($articleId, $theOtherParameter) {
// move it
}