使用ajax发送联系人详细信息到数据库
问题描述:
我有一个页面,允许用户从他们的移动设备中选择联系人姓名和详细信息,我想要做的是使用ajax将这些详细信息添加到mysql数据库。使用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 retirves infotmation 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 retirves infotmation 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");
}
});
答
您的数据部分错误。试试这个:
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
},
使用可以摆脱所有的新的变量声明第二,清洁你的代码了一下。你在技术上不需要它们。
谢谢,我试过了,但它不会触发警报或传递信息。 –
然后你需要包含build.php的代码。问题可能在那里。 –