将存储在PHP会话中的JSON格式的数组返回到iOS应用程序不工作
我一直在以JSON格式从我的网站向我的iOS应用程序进行基本调用。我将在未来增加安全措施,但现在只是想让这些电话发挥作用(在有人说我的电话有多么不安全之前!),我一直在打的这些基本电话都很好。最近,我从PHP会话中创建了一个响应,它不会向我的应用程序返回任何内容。我一直在挠头想弄清楚,并得出结论,这一定是因为会话,因为正常的呼叫工作得很好 以下是我的PHP代码:将存储在PHP会话中的JSON格式的数组返回到iOS应用程序不工作,php,ios,objective-c,xcode,mysqli,Php,Ios,Objective C,Xcode,Mysqli,我一直在以JSON格式从我的网站向我的iOS应用程序进行基本调用。我将在未来增加安全措施,但现在只是想让这些电话发挥作用(在有人说我的电话有多么不安全之前!),我一直在打的这些基本电话都很好。最近,我从PHP会话中创建了一个响应,它不会向我的应用程序返回任何内容。我一直在挠头想弄清楚,并得出结论,这一定是因为会话,因为正常的呼叫工作得很好 以下是我的PHP代码: <?php session_start(); $link=mysqli_connect('redacted', 'redact
<?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);
?>
另一方面,我已经在postman中测试了我的php脚本响应,所以我知道它工作得很好。我也知道我的objective-c应该是正确的,因为它适用于其他服务。有什么想法吗???这是给那些想知道同样事情的人的。我意识到我是多么愚蠢!当然,您不能将数据从会话传输到应用程序!您无法神奇地将数据从浏览器传送到不相关的应用程序。减少问题。并非所有这些系统都适用。1/是否调用了completionBlock?、2/是否观察到响应状态代码您将不会从服务器获取
会话
数据,因为会话
在浏览器上存储PHP会话ID
的cookie
,当我们使用web服务时
没有浏览器,因此将没有PHP会话ID
,因此服务器将无法向您发送任何与会话
相关的响应。因此,我看到了带有购物车的应用程序,它们是本机应用程序,如果您从应用程序向购物车添加内容,它将持续存在于网站上反之亦然。如果你不能使用会话,他们怎么做?
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);
}
}];