让我解释一下我在这里做什么
我一直在尝试在angularjs中构建一个民意调查应用程序并且有一个随机randomPollCode
,其中(当然)包含随机字母和数字,我希望它们是unique
的标识符我的民意调查将来专门打电话给他们。因此,我想要完成的是检查database
randomPollCode
生成的database
是否已在//checkPollCodeIfAvail checks if the randomPollCode already exists in the db
pollCodeStatus = pollFactory.checkPollCodeIfAvail(randomPollCode)
.then(function (response) {
//if there's no row with the same randomPollCode
if (response == "0") {
pollCodeAvail = true;
proceed();
}else{
//what should I put in here?
}
console.log(response)
});
中。
以下是代码:
else
我一直试图在factory.checkPollCodeIfAvail = function(x){
code = x;
return $http({
method: 'POST',
data: {
'action' : 'checkPollCode',
'pollCode' : code
},
url: 'http://localhost/poll/api.php',
transformRequest:function(obj) {
//transform header query into 'myVar1=var1Value&myVar2=var2Value'
var str=[];
for(var p in obj){
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]))
}
console.log(str.join("&"));
return str.join("&");
},
headers:{'Content-Type':'application/x-www-form-urlencoded'}
}).then(function(response){
var i = response.data.message.toString();
console.log(i);
return i;
});
};
部分进行do / while循环,但它会无休止地循环并反复调用该函数。
编辑:添加了一些代码
以上代码将在此处调用此方法:
switch ($_POST['action']) {
case 'checkPollCode':
$sql = "SELECT * FROM polls WHERE pollCode = :pollcode";
$stmt = $db_con->prepare($sql);
$stmt->bindParam(":pollcode", $checkPollCode);
$stmt->execute();
if($stmt->rowCount() >= 0){
$count = $stmt->rowCount();
$arr = array();
$arr['message'] = (string)$count;
echo json_encode($arr);
}
break;
}
以上代码将在此处编写此方法:
pollCode
我从服务器返回数据没有问题。我只是想确保我的数据库中没有重复{{1}}。
感谢任何可以帮助我的人。