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>
                                        &nbsp;/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-&gt;hasEventHandler(&#039;onBeginRequest&#039;))
<span class="ln">161</span>             $this-&gt;onBeginRequest(new CEvent($this));
<span class="error"><span class="ln error-ln">162</span>         $this-&gt;processRequest();
</span><span class="ln">163</span>         if($this-&gt;hasEventHandler(&#039;onEndRequest&#039;))
<span class="ln">164</span>             $this-&gt;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>
                                        &nbsp;/var/www/index.php(13): <strong>CApplication</strong>-><strong>run</strong>()             </div>

                <div class="code"><pre><span class="ln">08</span> defined(&#039;YII_DEBUG&#039;) or define(&#039;YII_DEBUG&#039;,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(&#039;YII_TRACE_LEVEL&#039;) or define(&#039;YII_TRACE_LEVEL&#039;,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)-&gt;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=1212‌​3


并使用此代码。

也许请求从未发送过?(这些值或缺少这些值是否与“无响应/确认”问题有关?)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=adm‌​in&password=1212‌​3"]];

 // Perform request and get JSON as a NSData object


NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
 NSLog(@"response=%@",response );