2013-02-18 91 views
0

我有一个.html页面,该页面引用了远程JavaScript文件Data.js。在Data.js中有一个函数,它调用navigator.appName并将生成的值分配到已在我的.html页面中定义的HiddenField将数据从html发布到远程asp.net服务器(.aspx.vb)

page.html中

<!DOCTYPE html> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <title></title> 
     <script type="text/javascript" src="http://server.com/Data.js" ></script> 
    </head> 
    <body style = "font-family:Arial; font-size:10pt" onload="Execution();"> 
    <form id="form1"> 
    <div> 
     <input type="hidden" id="Hidden2" /> 
     </div> 
     </form> 
    </body> 
    </html> 

Data.js

function Myfunction() 
{ 
var val = navigator.appName; 
document.getElementByID('Hidden2').value = val 
} 

我也有到位的另一个功能Hidden2值发布到远程服务器,以便将其存储在数据库如下:

function POSTHidden() { 
     $.ajax({ 
      type: "POST", 
      url: "http://server.com/VB.aspx/GETHidden", 
      data: '{name: "' + $("#Hidden2")[0].value + '" }', 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: OnSuccess, 
      failure: function (response) { 
       alert(response.d); 
      } 
     }); 
    } 
function OnSuccess(response) { 
    alert(response.d); 
} 

以及执行所述第一功能MyFunction();然后第二功能POSTHidden();作为第三功能如下:

function Execution() 
{ 
myFunction(); 
POSTHidden(); 
} 

现在我VB.aspx有一个WebMethod称为GETHidden基本上传递一个字符串作为参数并将其存储在数据库如如下:

<System.Web.Services.WebMethod()> _ 
Public Shared Function GETHidden(ByVal value As String) As String 
Dim value = String.Empty 
Dim str = value.Split(New Char() {" "c}) 
Dim conn As String 

conn = ConfigurationManager.ConnectionStrings("connStr").ConnectionString 
Dim sqlcon As New SqlConnection(conn) 

Try 
sqlcon.Open() 
Dim cmd = New SqlCommand("Insert into table (Record1) values (@param)", sqlcon) 
cmd.Parameters.AddWithValue("@param", value) 
cmd.ExecuteNonQuery() 
cmd.Dispose() 
sqlcon.Close() 

Catch ex As Exception 

End Try 
End Function 

以上所有作品的ONLY IF.html页面是在同d因为根据此post生成ajax requestVB.aspx。正如我试图将.html移出我通常上传到的域并将其上载到另一个域时,在打开.html时,它不起作用,而如果它位于相同的域名中,则它起作用。我试图实现的目标是在任何地方都有.html文件,并且在运行时,从引用的Data.js收集的数据应该发布到远程服务器并存储在数据库中。因此,.html页面应该可以从任何地方远程工作(尽管它位于本地或在本地PC上),并且应该将数据传递或发布到远程服务器(通过ajax请求或可以解决问题的任何POST请求)以便Hidden2可以存储在数据库中。请记住,浏览器兼容性和多用户同时打开页面(多发帖子请求到服务器)。任何建议或想法将不胜感激。

回答

相关问题