在default 页面做了个表单,可是非常奇怪,在表单中的文本框里输入内容后要按回车提交,才能得到正确的结果,如果用鼠标点提交按钮,就会得到个 HTTP 400 错误的请求 这个返回信息,谁知道这是为什么?

解决方案 »

  1.   

    default 和 响应函数如下:void CNntvExtension::Default(CHttpServerContext* pCtxt)
    {

    CString str1,str2,str3;
    str1.Format("<FORM ACTION=\"nntv.dll?test\" METHOD=POST>");
    str2.Format("<input name=\"name\" type=\"text\">");
    str3.Format("<input type=\"submit\" name=\"Submit\" value=\"提交\">");
    StartContent(pCtxt);

    //WriteTitle(pCtxt);
    *pCtxt << "<title>南宁电视台</title>\n";

    *pCtxt << _T("<p>南宁电视台磁带库</p>");

    *pCtxt << str1;
    *pCtxt << str2;
    //*pCtxt << str3;
    *pCtxt << _T("</form>");
    EndContent(pCtxt);
    if ( pCtxt->m_pStream->GetStreamSize() % 4096 == 0 ) *pCtxt << _T(" ") ; 
    }void CNntvExtension::Test(CHttpServerContext* pCtxt,LPTSTR pszName)
    {
    CString uName=pszName;
              CString img1;
    img1="<br><img src=\"amu.jpg\" border=0>";
    *pCtxt << "<br>";
    *pCtxt << uName;
    *pCtxt << img1;
    *pCtxt << "";

    EndContent(pCtxt);
    }
      

  2.   

    呵呵,奇怪,不知道为什么HTTP 400是找不到资源
    你把METHOD改成GET
    看看提交后的URL地址有什么区别
      

  3.   

    name=\"Submit\" 把这个删了就可以了