2013-02-18 138 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可以存儲在數據庫中。請記住,瀏覽器兼容性和多用戶同時打開頁面(多發帖子請求到服務器)。任何建議或想法將不勝感激。

回答

相關問題