我有一些工作代码(jQuery / Javascript),它调用API并向其提交数据。然后,相同的服务将返回成功或失败消息,具体取决于数据是否已插入API数据库。当在浏览器中加载时,下面的工作完美无缺。
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
$(document).ready(function () {
var groupType = getParameterByName('group').trim();
if (groupType == 'm') {
groupId = 'ICM.RealLife.Mobile';
} else if (groupType == 'd') {
groupId = 'ICM.RealLife.Desktop';
}
var email = getParameterByName('email').trim();
var mobileTel = getParameterByName('mobile').trim();
var panelistId = mobileTel;
var password = 'icm001';
var locale = 'en';
alert('email=' + email + '\n\nMobile=' + mobileTel + '\n\nGroup=' + groupId);
if (mobileTel != '' && email != '' && groupId != '') {
//Build up querystring to pass to API
var dataString = "panelistId=" + (encodeURIComponent('+') + mobileTel) + "&groupId=" + groupId + "&emailAddress=" + email + "&password=" + password + "&locale=" + locale + "&mobileNumber=" + (encodeURIComponent('+') + mobileTel) + "";
//var apiResult;
//send to API
$.getJSON('https://www.analyzeme.net/api/server/prereg/?', dataString + '&callback=?', function (getResult) {
//apiResult = JSON.stringify(getResult);
//alert(apiResult);
});
//} else {
// alert('Incorrect parameters!');
}
});
我现在必须使用像下面的aspx一样使用1x1跟踪像素;
<img src="http://www.somedomain.com/pixel.aspx?email=email@email.com&mobile=+441111222222&group=d" width="1" height="1"/>
但是,我不知道如何在asp.net页面中触发我的JavaScript?我知道我需要使用RegisterStartupScript做一些事情但是如何将所有JS都放入其中,以及如何在页面被点击时触发它。我知道如何使用响应头返回一个img / gif,所以我很酷。
非常感谢! :)
答案 0 :(得分:1)
在代码后面的Page_Load事件中调用JS函数。每次加载页面时都会触发。
代码背后
protected void Page_Load(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(Page, GetType(), "myFunction", "myFunction();", true);
}
<强>的JavaScript 强>
function myFunction() {
//Code you want to run from document.ready
}