代码之家  ›  专栏  ›  技术社区  ›  Sascha

ASIFormDataRequest不发送post值

  •  0
  • Sascha  · 技术社区  · 13 年前

    我尝试使用ASIFormDataRequest发送一些值。问题是,即使执行了php脚本,也没有收到post数据。

    以下是我的工作:

    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
    [request setPostValue:@"Ben" forKey:@"first_name"];
    [request setPostValue:@"Copsey" forKey:@"last_name"];
    [request startSynchronous];
    

    为了检查服务器接收到的内容,我有以下php测试脚本:

    $handle = fopen("output.txt", "w");
    fwrite($handle, count($_POST)."\n");
    fwrite($handle, count($_GET)."\n");
    fwrite($handle, count($_FILES)."\n");
    foreach ($_POST as $key => $value)
    {
     fwrite($handle, "POST $key=$value\n");
    }
    foreach ($_GET as $key => $value)
    {
     fwrite($handle, "GET $key=$value\n");
    }
    fclose($handle);
    

    同一脚本可用于以下html片段:

    <FORM action="http://......."
           enctype="multipart/form-data"
           method="post">
       <P>
       What is your name? <INPUT type="text" name="submit-name"><BR>
       <INPUT type="submit" value="Send"> <INPUT type="reset">
     </FORM>
    

    因为html片段与php脚本一起工作,我怀疑php和服务器不是问题所在。

    但我一点也不知道为什么从我的iPhone调用ASIFormDataRequest时不起作用。

    有人能帮帮我吗?

    当做, 萨沙

    1 回复  |  直到 13 年前
        1
  •  6
  •   Vladimir Angelov    13 年前

    我终于找到了原因:服务器从site.com重定向到www.site.com,因此丢失了post值。没有这个重定向,一切正常。希望这有帮助。