繁体   English   中英

将存储在PHP SESSION中的JSON格式的数组返回到iOS应用程序不起作用

[英]Returning array in JSON format stored in PHP SESSION to iOS application not working

我一直在以JSON格式从我的网站向我的iOS应用程序进行基本调用。 我将在将来添加安全措施,但现在只是尝试使呼叫正常工作(在任何人说我的呼叫有多不安全之前!)我一直在进行的这些基本呼叫运行良好。 最近,我从PHP会话中创建了一个响应,它没有向我的应用程序返回任何内容。 我一直在摸索试图解决这个问题,并得出结论,这一定是因为该会话,因为正常的呼叫才能正常工作。

这是我的PHP代码:

<?php
 session_start();
$link=mysqli_connect('redacted', 'redacted', '', '');
if (!$link) {
    die('Could not connect: ' . mysqli_error($link));
}
$max = count($_SESSION['cart']);
$json = array();
for ($i=0; $i<$max;$i++) {
    $pid = $_SESSION['cart'][$i]['productid'];
    $result = mysqli_query($link,"SELECT * FROM atable WHERE PID='$pid'");
    if(mysqli_num_rows($result)){
        while($row=mysqli_fetch_assoc($result)){
            $json[]=$row;
        }
    }
}
mysqli_close($link);
echo json_encode($json);
?>

这是我的目标-c:

NSString *str=[NSString stringWithFormat:@"theURL"];
NSURL *url=[NSURL URLWithString:str];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request
                                   queue:[NSOperationQueue mainQueue]
                       completionHandler:^(NSURLResponse *response,
                                           NSData *data, NSError *connectionError)
 {
     if (data.length > 0 && connectionError == nil)
     {
         NSArray *theResponses = [NSJSONSerialization JSONObjectWithData:data
                                                        options:0
                                                          error:NULL];
         NSLog(@"response %@", theResponses);
     }
 }];

附带说明一下,我已经在邮递员中测试了我的php脚本响应,所以我知道它的效果很好。 我也知道我的Objective-C应该正确,因为它可以与其他服务一起使用。 有任何想法吗??

这适用于任何想知道同一件事的人。 我意识到自己是多么愚蠢! 当然,您不能将数据从会话传输到应用程序! 您无法神奇地将数据从浏览器获取到不相关的应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM