我无法同时使用两个get请求从服务器获取任何数据。 我的苗条代码:
$app->get('/stravaigers', 'getTowns');
$app->get('/stravaigers', 'searchAdmin');
及其相关代码
function getTowns() {
$sql = "select distinct town from members where role='Member' order by town asc";
try {
$db = getConnection();
$stmt = $db->query($sql);
$town = $stmt->fetchAll(PDO::FETCH_OBJ);
$db = null;
echo json_encode($town);
} catch(PDOException $e) {
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
}
function searchAdmin() {
$querytype=$_GET['querytype'];
$querystring=trim($_GET['querystring']);
//$querystring=trim($querystring);
switch ($querytype)
{
case 1:
$sql = "select * from members where role='member' and SUBSTRinG(lname, 1, 1) = '$querystring'";
break;
case 2:
$sql = "select * from members where role='member'";
break;
case 3:
$sql = "select * from members where role='member' and status = '$querystring'";
break;
case 4:
$sql = "select * from members where role='member' and town = '$querystring'";
break;
}
try {
$db = getConnection();
$stmt = $db->prepare($sql);
$stmt->execute();
$myjson = $stmt->fetchAll(PDO::FETCH_OBJ);
$db = null;
echo json_encode($myjson);
} catch(PDOException $e) {
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
}
之前我从未使用过slim或者之前的php。 java脚本中的函数如下:
function getTowns() {
$.ajax({
type:"GET",
url: rootURL, dataType:'json',
success: function(towns){
$("#mytable").append('<tr><th>Town</th></tr>');
for(var i=0;i<towns.length;i++){
$("#myTown").append('<option value="'+towns[i].town+'">'+towns[i].town+'</option>');
}
}
});
}
和应该调用另一个GET请求的函数;
function showAll(qstring,qtype) {
var num=0;
var recend=0;
var totrecs=1;
$("#vsdiv").show();
$.ajax({
type: "GET",
url: rootURL, dataType:'json',data:{querystring:qstring,querytype:qtype},
success: function(myjson){
if(myjson.length==0){
alert("No records found.");
var me= $('#hr1').html()+" - No Records Found.";
$("#hr1").removeAttr("href");
} else {
num=myjson.length-1;
if(myjson.length>=10){
recend=10;
} else {
recend=myjson.length;
}
var me= $('#hr1').html()+" - Showing 1 - "+recend+" of "+myjson.length+" Records in Table.";
$('#hr1').html(me);
$("#hits").html("Viewing #1 of "+num+" records");
$("#resultstable").append('<tr class="yellow">'+
'<th>#REC</th><th>JOINED</th><th>USER NAME</th><th>CONTACT</th><th>ADDRESS</th><th>PHONE</th><th>EMAIL</th><th>STATUS</th><th>SELECT</th>'+
'</tr>');
var j=0;
for(var i=0;i<10;i++){
$("#resultstable").append('<tr class="trow'+j+'">'+
'<td class="ids" id="z'+i+'">'+totrecs+'</td>'+
'<td>'+myjson[i].jdate+'</td>'+
'<td class="users" id="username'+i+'">'+myjson[i].username+'</td>'+
'<td id="contact'+i+'">'+myjson[i].fname+' '+myjson[i].lname+'</td>'+
'<td id="myaddress'+i+'">'+myjson[i].address1+' '+myjson[i].town+'</td>'+
'<td id="phone'+i+'">'+myjson[i].phone+'</td>'+
'<td id="email'+i+'">'+myjson[i].email+'</td>'+
'<td id="status'+i+'">'+myjson[i].status+'</td>'+
'<td><input type="checkbox" name="whome" id="showMe'+i+'" class="boxes" onclick="getMe('+i+')" /></td>'+
'</tr>');
totrecs++;
j++;
}
if(myjson.length>10){
$("#n10").attr("disabled",false);
$("#l10").attr("disabled",false);
}
}
}
});
}
现在这就是我在html中调用它们的方式;
<script>
showAll(urlParams.querystring,urlParams.querytype);
</script>
每当我从服务器获取数据时,它总是返回城镇,因为我需要获得搜索管理功能中的其他查询。我已经尝试了很多东西,但无论如何我都会把城镇带回来;
我不知道为什么它不能从服务器端获取数据。 一点帮助将不胜感激:))
由于
答案 0 :(得分:0)
Slim按照提供的顺序匹配路线。由于您发布的两条路线都使用相同的HTTP方法并指向同一个端点,因此您只能获得getTowns
结果。您需要重命名其中一条路线。