Iphone ASIFormDataRequest中的键值对请求未获得响应
我试图以键值对的形式读取Iphone ASIFormDataRequest中的键值对请求未获得响应,iphone,objective-c,ios,json,Iphone,Objective C,Ios,Json,我试图以键值对的形式读取jSON响应 当我通过浏览器手动点击URL时,我通过jSON对象获取所需的状态代码/响应 {“状态”:“0”,“响应代码”:“1021”,“响应”:{“消息”:“请检查您的设置”,“数据”:“2012-11-24,上午7:28”} 当我试图通过我的应用程序执行此操作时,未获得相同的预期响应。当我通过应用程序发送数据时,我的代码 [dictionnary setObject:@"admin" forKey:@"username"]; [dictionnary setObj
jSON
响应
当我通过浏览器手动点击URL时,我通过jSON对象获取所需的状态代码/响应
{“状态”:“0”,“响应代码”:“1021”,“响应”:{“消息”:“请检查您的设置”,“数据”:“2012-11-24,上午7:28”}
当我试图通过我的应用程序执行此操作时,未获得相同的预期响应。当我通过应用程序发送数据时,我的代码
[dictionnary setObject:@"admin" forKey:@"username"];
[dictionnary setObject:@"123123" forKey:@"password"];
NSError *error = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionnary
options:kNilOptions
error:&error];
NSString *urlString = @"MY CALL URL";
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:jsonData];
NSURLResponse *response = NULL;
NSError *requestError = NULL;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&requestError];
NSLog(@"response is obtained");
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] ;
NSLog(@"%@", responseString);
我通过代码得到的响应
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>PHP notice</title>
<style type="text/css">
/*<![CDATA[*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}
body{line-height:1;}
ol,ul{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:none;}
:focus{outline:0;}
ins{text-decoration:none;}
del{text-decoration:line-through;}
table{border-collapse:collapse;border-spacing:0;}
body {
font: normal 9pt "Verdana";
color: #000;
background: #fff;
}
h1 {
font: normal 18pt "Verdana";
color: #f00;
margin-bottom: .5em;
}
h2 {
font: normal 14pt "Verdana";
color: #800000;
margin-bottom: .5em;
}
h3 {
font: bold 11pt "Verdana";
}
pre {
font: normal 11pt Menlo, Consolas, "Lucida Console", Monospace;
}
pre span.error {
display: block;
background: #fce3e3;
}
pre span.ln {
color: #999;
padding-right: 0.5em;
border-right: 1px solid #ccc;
}
pre span.error-ln {
font-weight: bold;
}
.container {
margin: 1em 4em;
}
.version {
color: gray;
font-size: 8pt;
border-top: 1px solid #aaa;
padding-top: 1em;
margin-bottom: 1em;
}
.message {
color: #000;
padding: 1em;
font-size: 11pt;
background: #f3f3f3;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
margin-bottom: 1em;
line-height: 160%;
}
.source {
margin-bottom: 1em;
}
.code pre {
background-color: #ffe;
margin: 0.5em 0;
padding: 0.5em;
line-height: 125%;
border: 1px solid #eee;
}
.source .file {
margin-bottom: 1em;
font-weight: bold;
}
.traces {
margin: 2em 0;
}
.trace {
margin: 0.5em 0;
padding: 0.5em;
}
.trace.app {
border: 1px dashed #c00;
}
.trace .number {
text-align: right;
width: 2em;
padding: 0.5em;
}
.trace .content {
padding: 0.5em;
}
.trace .plus,
.trace .minus {
display:inline;
vertical-align:middle;
text-align:center;
border:1px solid #000;
color:#000;
font-size:10px;
line-height:10px;
margin:0;
padding:0 1px;
width:10px;
height:10px;
}
.trace.collapsed .minus,
.trace.expanded .plus,
.trace.collapsed pre {
display: none;
}
.trace-file {
cursor: pointer;
padding: 0.2em;
}
.trace-file:hover {
background: #f0ffff;
}
/*]]>*/
</style>
</head>
<body>
<div class="container">
<h1>PHP notice</h1>
<p class="message">
Undefined index: signature </p>
<div class="source">
<p class="file">/var/www/protected/controllers/Authenticate.php(955)</p>
<div class="code"><pre><span class="ln">943</span>
<td class="number">
#7 </td>
<td class="content">
<div class="trace-file">
<div class="plus">+</div>
<div class="minus">–</div>
/var/yii-1.1.10.r3566/framework/base/CApplication.php(162): <strong>CWebApplication</strong>-><strong>processRequest</strong>() </div>
<div class="code"><pre><span class="ln">157</span> */
<span class="ln">158</span> public function run()
<span class="ln">159</span> {
<span class="ln">160</span> if($this->hasEventHandler('onBeginRequest'))
<span class="ln">161</span> $this->onBeginRequest(new CEvent($this));
<span class="error"><span class="ln error-ln">162</span> $this->processRequest();
</span><span class="ln">163</span> if($this->hasEventHandler('onEndRequest'))
<span class="ln">164</span> $this->onEndRequest(new CEvent($this));
<span class="ln">165</span> }
<span class="ln">166</span>
<span class="ln">167</span> /**
</pre></div> </td>
</tr>
<tr class="trace app expanded">
<td class="number">
#8 </td>
<td class="content">
<div class="trace-file">
<div class="plus">+</div>
<div class="minus">–</div>
/var/www/index.php(13): <strong>CApplication</strong>-><strong>run</strong>() </div>
<div class="code"><pre><span class="ln">08</span> defined('YII_DEBUG') or define('YII_DEBUG',true);
<span class="ln">09</span> // specify how many levels of call stack should be shown in each log message
<span class="ln">10</span> defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);
<span class="ln">11</span>
<span class="ln">12</span> require_once($yii);
<span class="error"><span class="ln error-ln">13</span> Yii::createWebApplication($config)->run();
</span></pre></div> </td>
</tr>
</table>
</div>
<div class="version">
2012-11-24 07:38:18 Apache/2.2.22 (Ubuntu) <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.10 </div>
</div>
<script type="text/javascript">
/*<![CDATA[*/
var traceReg = new RegExp("(^|\\s)trace-file(\\s|$)");
var collapsedReg = new RegExp("(^|\\s)collapsed(\\s|$)");
var e = document.getElementsByTagName("div");
for(var j=0,len=e.length;j<len;j++){
if(traceReg.test(e[j].className)){
e[j].onclick = function(){
var trace = this.parentNode.parentNode;
if(collapsedReg.test(trace.className))
trace.className = trace.className.replace("collapsed", "expanded");
else
trace.className = trace.className.replace("expanded", "collapsed");
}
}
}
/*]]>*/
</script>
</body>
</html>
PHP通知
/**/
PHP通知
/var/www/protected/controllers/Authenticate.php(955)
943
#7
+
–
/var/yii-1.1.10.r3566/framework/base/capapplication.php(162):CWebApplication->processRequest()
157 */
158公共功能运行()
159 {
160 if($this hasEventHandler(';onBeginRequest';))
161$此onBeginRequest(新CEvent($此));
162$this-processRequest();
163 if($this hasEventHandler(';onedRequest';))
164$此ONEDREQUEST(新CEvent($此));
165 }
166
167 /**
#8
+
–
/var/www/index.php(13):capapplication->run()
08已定义(';YII#u DEBUG';)或定义(';YII#u DEBUG';,true);
09//指定每个日志消息中应显示多少级别的调用堆栈
10定义(';YII#u TRACE_LEVEL';)或定义(';YII#u TRACE_LEVEL';,3);
11
一次12美元(yii);
13 Yii::createWebApplication($config)-run();
2012-11-24 07:38:18 Apache/2.2.22(Ubuntu)/1.1.10
/**/
这些是ASIHttp方法的委托方法。当响应到来时将调用它
编码快乐 请注意,
ASIHTTPRequest
可以使用AFNetworking
AFNetworking
是一个非常适合iOS
和macosx
的网络库。它建立在NSURLConnection
、NSOperation
和其他熟悉的基础技术
之上。它有一个模块化架构
,具有设计良好、功能丰富的API,使用起来非常愉快
找到
你也可以试试下面的代码可能会对你有所帮助
如果是GET请求,那么您可以尝试以下链接:/index.php/api/transaction/model/transactionsuccess?username=admin&password=12123
并使用此代码。也许请求从未发送过?(这些值或缺少这些值是否与“无响应/确认”问题有关?)API确认发送的任何信息。API只接受用户的输入,不进行验证或类似操作。这些值或缺少这些值是否与“无响应/确认”问题有关?也就是说,我可以问这样的问题:“为什么ASIFormDataRequest没有得到响应?”或者在指定post值时只是“不起作用”?如果JSON当前没有接收,为什么会被提及?好的。很抱歉问你这个问题。谢谢你纠正我。问题已被编辑。[请求设置httpmethod:@“POST”];这是正确的方法吗?X代码在这一行困扰着我,上面的代码不起作用。我没有得到所需的jSON响应。这里有什么变化吗?你得到了什么回应?PHP notice/*类似的东西我想你粘贴了部分,你能粘贴完整的响应吗?ol,ul{list style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:none;}:focus{outline:0;}ins{text decor饰:none;}del text de饰:line-through;}表格{边框折叠:折叠;边框间距:0;}正文{font:normal 9pt“Verdana”;颜色:#000;背景:#fff;}h1{font:normal 18pt“Verdana”;颜色:#f00;页边距底端:.5em;}h2{font:normal 14pt“Verdana”;颜色:#800000;页边距底端:.5em;}h3{font:bold 11pt“Verdana”;pre font:normal 11pt门罗,控制台,“Lucida控制台”,单空间;}**像这样的
- (void)requestFinished:(ASIHTTPRequest *)request1
{
// Use when fetching text datatype = agency; type = court;
NSString *responseString = [request1 responseString];
}
- (void)requestFailed:(ASIHTTPRequest *)request1
{
NSError *error = [request1 error];
NSLog(@"%@",error);
}
NSString *username = emailField.text;
NSString *password = passwordField.text;
NSMutableDictionary *dictionnary = [NSMutableDictionary dictionary];
[dictionnary setObject:@"admin" forKey:@"username"];
[dictionnary setObject:@"123456" forKey:@"password"];
NSError *error = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionnary
options:kNilOptions
error:&error];
NSString *urlString = @"Sample URL";
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:jsonData];
NSURLResponse *response = NULL;
NSError *requestError = NULL;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&requestError];
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] ;
NSLog(@"%@", responseString);
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"/index.php/api/transaction/model/transactionsuccess?username=admin&password=12123"]];
// Perform request and get JSON as a NSData object
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSLog(@"response=%@",response );