首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

COM:提交表单返回405异常

2014-04-20 
COM:提交表单返回405错误void CWebGameView::OnDocumentComplete(LPCTSTR lpszURL){// TODO: 在此添加专用

COM:提交表单返回405错误


void CWebGameView::OnDocumentComplete(LPCTSTR lpszURL)
{
// TODO: 在此添加专用代码和/或调用基类

CHtmlView::OnDocumentComplete(lpszURL);

//获得源码
CString strSource;
GetSource(strSource);

BOOL bRetVal = FALSE;
CComPtr<IDispatch> spDisp = GetHtmlDocument();
//CComQIPtr<IHTMLDocument2> spPersistStream = spDisp;
m_hdtHtmlMonitor = spDisp;

if( _tcscmp(lpszURL, _T("http://xxx/xx/index/")) == 0)
{
LoginGame();
}
}

DWORD CWebGameView::LoginGame()
{
IHTMLInputTextElement  *ppvhInputElemt = NULL;
IHTMLFormElement       *ppvhFormElemt  = NULL;
IDispatch              *ppvdispOption  = NULL;
IHTMLElementCollection *ppvhElemtCollection = NULL;
COleVariant            vatIndexForm( (long)0);
HRESULT                hResult;
CString                strUserName;
CString                strPassword;

//从对话框输入用户名密码
m_pdlLogin = new CDialogLogin();
if( m_pdlLogin->DoModal() == IDOK)
{
strUserName = m_pdlLogin->GetLoginUserName();
strPassword = m_pdlLogin->GetLoginPassword();
}

//用户名输入控件
hResult = m_hdtHtmlMonitor->get_all(&ppvhElemtCollection);
hResult = ppvhElemtCollection->item( COleVariant(_T("username")), vatIndexForm, &ppvdispOption);
hResult = ppvdispOption->QueryInterface(IID_IHTMLInputTextElement, (void**)&ppvhInputElemt);
hResult = ppvhInputElemt->put_value( strUserName.GetBuffer());
ppvhInputElemt->Release();
ppvdispOption->Release();

//密码输入控件
ppvhElemtCollection->item( COleVariant(_T("password")), vatIndexForm, &ppvdispOption);
hResult = ppvdispOption->QueryInterface(IID_IHTMLInputTextElement, (void**)&ppvhInputElemt);
ppvhInputElemt->put_value( strPassword.GetBuffer());
ppvhInputElemt->Release();
ppvdispOption->Release();

//提交表单
hResult = ppvhElemtCollection->item( COleVariant(_T("lgform")), vatIndexForm, &ppvdispOption);
hResult = ppvdispOption->QueryInterface(IID_IHTMLFormElement, (void**)&ppvhFormElemt);
hResult = ppvhFormElemt->submit();
ppvhFormElemt->Release();
ppvdispOption->Release();

ppvhElemtCollection->Release();
return 0;
}


                <form id="lgform" name="lgform" method="post" action="" onsubmit="FormSubmit();return false;">
                  <div class="loginInfo">
                    <p>
                      <label>用户名:</label>
                      <input type="text" name="username" id="username" class="text" />


                    </p>
                    <p>
                      <label>密&nbsp;&nbsp;码:</label>

                      <input type="password"  name="password" id='password'  class="text" />
                    </p>
                    <p>
                      <label>&nbsp;</label>
                      <input type="checkbox" id="autoLogin" name="autoLogin" value="true" class="checkbox" />
                      记住我的登录状态</p>
                    <p>
                      <label>&nbsp;</label>

                      <input name="Submit" type="submit" class="button" value=""/>
                      <a id="fp" href="https://passport.baidu.com/?getpass" >忘记密码</a></p>
                  </div>

                  <input type='hidden' value='yx' name='tpl' />
                  <input type='hidden' name='u' id='ru' value='' />

                </form>



当我在LoginGame()里面提交表单完成后,在OnDocumentComplete里面获得了与提交表单页同样的url,但GetSource()后发现内容如下:
<html>
<head><title>405 Not Allowed</title></head>
<body bgcolor="white">
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx</center>
</body>
</html>
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->


<!-- a padding to disable MSIE and Chrome friendly error page -->


请高手指点下,是啥问题,表单需要提交的数据也就是用户名和密码了,我都填写了;用户名和密码肯定是正确的
[解决办法]
贴出 FormSubmit()这个js 函数的代码?

[解决办法]
直接网页登陆可以么。
FormSubmit里面调试看看
[解决办法]
通过xmlhttp组件提交

热点排行