1
我在做什麼取決於點擊鏈接,重新構建URL並從URL中讀取變量,然後對傳統ASP頁面進行AJAX post調用,然後插入將該值發佈到SQL數據庫中。檢索經典ASP頁面上的AJAX Post Data頁面
這是在document.ready()函數中,這樣當URL被更改時,它將讀入新的值;
//check if there's a video to log, and log that video
var params = {};
params["loggedFrom"] = getUrlVars()["loggedFrom"];
params["logVideo"] = getUrlVars()["logVideo"];
params["ipAddress"] = getUrlVars()["IPAddress"];
params["fromApp"] = "P360";
params["fromPage"] = "P360 Trading Overview";
params["videoName"] = getUrlVars()["videoName"];
//alert(params["loggedFrom"]);
if(params["logVideo"] == "true"){
var now = new Date();
now = now.format("MM/dd/yyyy hh:mm:ss");
$.ajax({
type:"POST",
url:"p360TradingLog.asp",
data: params,
success : function(d){
alert("this post was successful");
}
});
}
PARAMS []似乎是正確的包含數據做
alert(params["logVideo"]);
它返回正確的值時一樣,但我沒有收到「這篇文章是成功的」警報。我的問題是我的代碼應該在p360TradingLog.asp頁面中以獲得這些發佈的值並將它們正確插入?這是我當前的代碼,但無法正常工作。
<%
Set con = Server.CreateObject("ADODB.Connection");
set ipAddress = Request.Form("params")("ipAddress");
set videoName = Request.Form("params")("videoName");
set fromPage = Request.Form("params")("fromPage");
set fromApp = Request.Form("params")("fromApp");
set loggedFrom = Request.Form("params")("loggedFrom");
set timeOfDay = Now;
var conStr = "Provider=SQLOLEDB.1;Password=xxxxxx;Persist Security Info=True;User ID=xxxxx;Initial Catalog=xxxxx;Data Source=xxxxx";
con.Open(conStr);
Set rs = con.Execute("Insert into dbo.tbl_Prospect_Video_Tracking(IPAddress,videoName,fromPage,fromApp,loggedFrom,dtViewed)values('" + ipAddress + "','" + videoName + "','" + fromPage + "','" + fromApp + "','" + loggedFrom + "','" + timeOfDay + "')");
//alert(insertSQL);
rs.close();
con.close();
%>
有沒有辦法讓我在P360TradingLog.asp頁面上測試什麼可能會出錯?我不熟悉這些帖子,所以很抱歉,如果這些看起來非常拉曼。
謝謝您的建議,我已經完成並對我的代碼進行了推薦的更改,但似乎仍未獲得成功消息。有什麼我可以放入上面的代碼來測試該頁面正確接收窗體變量? –
您可以隨時使用Response.Write Request.Form(「ipAddress」)(或任何其他表單字段名稱)來獲取頁面以顯示其收到的數據 – John
注意 - 我建議您在發佈之前更改數據庫用戶名和密碼連接字符串在公共論壇 – John