我需要将一个AJAX帖子发送到PHP脚本,该脚本期望参数名称为[。]。
我的代码:
$("#form").submit(function () {
var salutation = $("input[name='salutation ']:checked").val();
var name = $("#name").val();
var surename= $("#surename").val();
var origin = "true";
var post = jQuery.post(url, {
salutation: salutation,
name: name,
surname: surname,
origin[Newsletterform]: origin
});
post.done(function(data) {
console.log("webservice-done")
});
});
问题与origin[Newsletterform]: origin
一致。
它告诉我这一行有错误。
如果我删除[DATA]
部分并仅使用origin: origin
,则会告诉我代码中没有错误。但是我需要用[DATA]部分发送参数。
我无法在PHP脚本中更改某些内容,因为它不是我的,并且不可能在此方面进行更改。
有没有办法用[DATA]发送参数名?
应该像SCRIPT_URL?salutation=salutation&name=name&lastname=lastname&origin[Newsletterform]=true
。
答案 0 :(得分:2)
要使用该语法向对象添加属性,可以将其包装在引号中:
var postData = {
salutation: salutation,
name: name,
surname: surname,
'origin[Newsletterform]': origin
}
var post = $.post(url, postData);
或使用括号表示法:
var postData = {
salutation: salutation,
name: name,
surname: surname
}
postData['origin[Newsletterform]'] = origin;
var post = $.post(url, postData);