jQuery - now:创建一个对象并在其中存储值以传递给AJAX调用

Jos*_*h K 3 php ajax jquery post

我有一个数组:

myarr = [];
Run Code Online (Sandbox Code Playgroud)

我正在填写一些值:

myarray['name'] = "Me!";
Run Code Online (Sandbox Code Playgroud)

现在我想将该数组转换为一组Key => Value对.我虽然jQuery会自动执行,但它似乎没有.

$.ajax
({
    type: "POST",
    dataType: "text",
    url: "myurl",
    data: myarr
});
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点或我做错了什么?我没有javascript错误,没有服务器端错误,除了没有POST信息.

我需要将请求作为真正的POST请求发送.我需要保持php代码简单,因为有时登录将不是 AJAX调用.

我现在正在尝试以下错误 unexepected token ':'

myarr:
{
    'name':'me'
}
Run Code Online (Sandbox Code Playgroud)

问题现在变成:如何将新的javascript对象初始化为"空白",如何设置映射,以及如何在AJAX调用中传递它?

Tej*_*ejs 6

data属性是一个对象,因此它使用如下符号:

data: { 'Name': 'Me!' }
Run Code Online (Sandbox Code Playgroud)

data: ['Name':'Me!']
Run Code Online (Sandbox Code Playgroud)

您需要将数组转换为对象.您可以轻松地代替数组执行此操作:

myData.Name = 'Me';
myData.OtherProp = 'Something';
Run Code Online (Sandbox Code Playgroud)

这是一些样本:

$.ajax({
    type: 'POST',
    dataType: 'text/html',
    url: 'myUrl.php',
    data:
    {
        'Name': 'Me!'
    },
    success: function(data, status)
    {
        // data is the returned response
    }
});
Run Code Online (Sandbox Code Playgroud)

要么

var myObject = new Object();

myObject.Name = 'Me!';

$.ajax({
    type: 'POST',
    dataType: 'text/html',
    url: 'myUrl.php',
    data: myObject
});
Run Code Online (Sandbox Code Playgroud)

两者都应该让你到正确的地方.