我想使用ajax发送带参数的网址以下是我要发送的数据http://sample-domain.com/send-email.php?pid=3224&act=report,但它只发送http://sample-domain.com/send-email.php
以下是我的ajax代码
<script>
window.addEventListener("load", function(){
var x=document.getElementsByTagName("a");
for(var i=0; i<x.length; i++){
x[i].addEventListener("click", nextlocation);
};
});
function nextlocation(evt){
var y = String(this.getAttribute("href"));
alert(y);
httpRequest = new XMLHttpRequest();
httpRequest.open('POST', 'setnext.php');
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpRequest.send('next='+y);
};
</script>
和setnext.php
<?php
session_start();
$_SESSION['next']=$_POST['next'];
答案 0 :(得分:0)
1. if(isPostback)// before the alert 2. string message = "Submitted"; System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("<script type = 'text/javascript'>"); sb.Append("window.onload=function(){"); sb.Append("alert('"); sb.Append(message); sb.Append("')};"); sb.Append("</script>"); ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", sb.ToString());
您已经说过使用httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
格式对数据进行编码。
但是在这里:
application/x-www-form-urlencoded
您只需在密钥和值之间加 httpRequest.send('next='+y);
,而不考虑=
数据的任何其他规则。
其中一条规则是application/x-www-form-urlencoded
分隔键=值对...您的数据中有&
。
您必须正确编码数据。
&