使用ajax将联系方式发送到数据库

时间:2015-10-16 10:59:18

标签: javascript ajax

我有一个页面,允许用户从他们的移动设备中选择联系人姓名和详细信息,我想要做的是然后使用ajax将这些详细信息添加到mysql数据库。

从设备获取联系详细信息的原始代码。

 function select_a_contact()
    {
        intel.xdk.contacts.chooseContact();
    }

    document.addEventListener('intel.xdk.contacts.choose', function(evt){
        if (evt.success == true)
        {
            var contactID = evt.contactid;

            //this function retrieves information of a contact based on its id.
            var contactInfo = intel.xdk.contacts.getContactData(contactID);

            var firstName = contactInfo.first;
            var lastName = contactInfo.last;
            var phoneNumbers = contactInfo.phones;
            var emails = contactInfo.emails;
            var address = contactInfo.addresses;

            alert(firstName + lastName);
        }
        else if (evt.cancelled == true)
        {
            alert("Choose Contact Cancelled");
        }
    });

这是我修改后的代码,其中添加了一些代码以将联系人详细信息发送到php页面。当我选择一个联系人时,我没有收到任何错误,但是警报没有触发,所以我假设我的代码不起作用。如果我在表单环境中使用ajax代码它运行得很好,我尝试用几种不同的方式编写,但是ajax代码似乎没有触发。

 function select_a_contact()
    {
        intel.xdk.contacts.chooseContact();
    }

    document.addEventListener('intel.xdk.contacts.choose', function(evt){
        if (evt.success == true)
        {
            var contactID = evt.contactid;

            //this function retrieves information of a contact based on its id.
            var contactInfo = intel.xdk.contacts.getContactData(contactID);

            var firstName = contactInfo.first;
            var lastName = contactInfo.last;
            var phoneNumbers = contactInfo.phones;
            var emails = contactInfo.emails;
            var address = contactInfo.addresses;

            $.ajax({
            type: "POST",
            url: "http://www.domian.co.uk/app/build.php",
            data: {
            var firstName = contactInfo.first;
            var lastName = contactInfo.last;
            var phoneNumbers = contactInfo.phones;
            var emails = contactInfo.emails;
            var address = contactInfo.addresses;
            },
            success: function(){
             alert(firstName);
            }
            });

            alert(firstName + lastName);
        }
        else if (evt.cancelled == true)
        {
            alert("Choose Contact Cancelled");
        }
    });       

1 个答案:

答案 0 :(得分:0)

您的数据部分错误。试试这个:

data: {
    firstName: firstName,
    lastName: lastName,
    phoneNumbers: phoneNumbers,
    emails: emails,
    address: address
},

......或......

data: {
    firstName: contactInfo.first,
    lastName: contactInfo.last,
    phoneNumbers: contactInfo.phones,
    emails: contactInfo.emails,
    address: contactInfo.addresses
},

使用秒,你可以摆脱所有新的变量声明,清理你的代码。从技术上讲,你并不需要它们。