0

我正在尝试使用以下 javascript 登录该站点。但是,我只加载完整的页面。我正在开发 Windows 8 应用程序

(function () {
"use strict";

WinJS.UI.Pages.define("/pages/home/home.html", {
    // This function is called whenever a user navigates to this page. It
    // populates the page elements with the app's data.
    ready: function (element, options) {
        // TODO: Initialize the page here.
        document.getElementById("bt_login").addEventListener("click", login, false);
    }
   });
  })();

function login() {
var xhrDiv = document.getElementById("xhrReport");
var xhr = new XMLHttpRequest();


xhr.onreadystatechange = dataLoaded;

xhr.open("POST", "http://www.160by2.com", true, <username>, <password>);
xhr.send();

function dataLoaded() {
    if (xhr.readyState === 4) {
        if (xhr.status === 200) {
            // OK
            xhrDiv.innerHTML = window.toStaticHTML("response:" + xhr.responseText);

        } else {
            // not OK
            xhrDiv.innerText = "failure";
        }
    }
};}

我想以xhrdiv.innerHTML“登录成功”或“登录错误”的形式显示

编辑:

我尝试了以下代码:

iframe = document.getElementById("ifra_op"); iframe.setAttribute("src", "http://www.160by2.com/index"); document.getElementById("op").appendChild(iframe); iframe.contentWindow.document.getElementById("MobileNoLogin") = "<mobno>"; iframe.contentWindow.document.getElementById("LoginPassword") = "<pass>; iframe.contentWindow.document.getElementsByName("LoginForm").click();

但是,有一个错误。它说“Javascript 运行时错误:数学未定义”

“数学”来自网站。我不知道如何处理这个。此外,该权限被拒绝。为什么呢?

4

1 回答 1

0

您需要确保远程服务器中有服务(类似于 Web 服务)来处理请求。

在这里你可以做的是。

  1. 创建一个iframe并将src设置为160by2;
  2. 使用 iframe.contentwindow 访问网页,注入您的代码以填写表单并触发提交按钮。
  3. 解析收到的 html 以验证您的登录。

使用 jquery ,让生活更轻松。

var iframe = $("#ifra_op");
$(iframe).attr("src", "http://www.160by2.com/index");
$(iframe).attr("onload","submitForm();");
function submitForm(){
$(iframe.contentWindow.document).find("#MobileNoLogin").val("9999"); 
$(iframe.contentWindow.document).find("#LoginPassword").val("pass"); 
$('#button').click();
}
于 2012-11-22T14:33:13.837 回答