我试图弄清楚如何从我正在使用的jQuery插件中获取URL中传递的参数。基本上,我正在向我的Web服务发送POST ajax请求并尝试使用URL参数,但它们总是无效返回。我假设这与我在POST中的事实有关。
任何人都可以为我提供一些有关如何实现这一目标的见解吗?
答案 0 :(得分:1)
我不确定你为什么选择在AJAX调用上使用查询字符串参数。除非有非常具体的原因,否则您应该将它们作为参数发布到您的Web服务方法中。
答案 1 :(得分:0)
您好我正在使用jQuery jqGrid插件,默认情况下它会向网址发布5或6个参数。我在查看这些参数时遇到了麻烦,从查看一些php示例中,它显示了从Form变量中获取参数的方法......我只是想看看是否有办法可以做到这一点。我会看到我可以做些什么来发布它们作为参数。 。 。只是为了咯咯笑,有没有办法,我会或可以做到这一点?
答案 2 :(得分:0)
for ASP.NET ....
您可以使用POST
Request["paramName"];
参数
如果您使用带有查询字符串参数的GET
请求,那么
Request.QueryString["paramName"];
答案 3 :(得分:0)
我遇到了类似的问题。
我正在使用jQuery / json和POST回C#/ Webservice。我不知道如何读取我创建的json变量。
这是客户端(在用户控件上):
<script type="text/javascript" language="javascript">
function DoLogin()
{
var un = document.getElementById('UserNameText').value;
var pw = document.getElementById('PasswordText').value;
var info = "{ 'UserName':'" + un + "', 'Password':'" + pw + "'}";
$.ajax(
{
type: "POST",
url: "http://localhost:60876/Sitefinity/Services/Login/Login.asmx/LoginSpecial",
dataType: 'json',
data: info,
contentType: "application/json; charset=utf-8",
success: function (msg) { alert(msg.d); },
error: function (msg) { alert(msg.responseText); }
});
}
</script>
这是网络服务方面:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class Login : System.Web.Services.WebService
{
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod]
public string LoginSpecial()
{
// read the json variables: UserName, Password.
string un = HttpContext.Current.Request["UserName"] != null ? HttpContext.Current.Request["UserName"].ToString() : String.Empty;
// the previous isn't working for some reason.
return "Some message here";
}
}
我正在访问网络服务,但我需要json的用户名/密码进行一些验证。
答案 4 :(得分:0)
如果你正在使用asp.net WebForms,我建议使用ScriptManager为你的web服务生成一个javascript代理,然后使用该javascript代理而不是手动进行ajax调用。以下是使用ScriptManager和Web服务的快速教程/演练:http://msdn.microsoft.com/en-us/magazine/cc163354.aspx
大致像这样:
// in html you have this
<script src="WebService.asmx/jsdebug" type="text/javascript"></script>
// csharp web-service like this
[WebMethod]
public int Add(int a, int b) { return a + b; }
// further javascript to call it
function CallAdd()
{
// method will return immediately
// processing done asynchronously
WebService.Add(0,6, OnMethodSucceeded, OnMethodFailed);
}
这应该消除了通过query-string发布参数的需要,这通常在soap环境中不受支持,因为服务需要格式良好的soap消息。
答案 5 :(得分:0)
string parameter = HttpUtility.ParseQueryString(HttpContext.Current.Request.UrlReferrer.Query).Get("param1");