0
我试着做一个ajax调用来发布到webmethod,每当我发布它,它只是返回整个aspx页面。 这里是Ajax调用:Ajax Post返回完整的aspx页面
var $jq =jQuery.noConflict();
$jq.ajax({
type: "POST",
url: "Default2.aspx/sortxml",
data: xmlDoc,
complete: function (xhr, status) {
error: function (xhr, status, text) {
console.log(xhr.status);
console.log(xhr.text);
console.log(xhr.responseText);
}
if (status === 'error' || !xhr.responseText) {
alert(xhr.responseText);
document.getElementById("response").value = xhr.responseText;
}
else {
var data = xhr.responseText;
//alert(data);
document.getElementById("response").value = data;
}
}
,这里是将WebMethod,我简化它大量这坐落在一个叫“Default2.aspx”
[System.Web.Services.WebMethod()]
public static string sortxml()
{
return ("hi");}
表单页面背后的代码,它拉来自这里的数据是:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager2" runat="server"></asp:ScriptManager>
<button onclick="cmdButtonSend();" type="button" >Call Component Engine</button>
<br /><p>
<asp:TextBox id="TextInput" runat="server" TextMode="MultiLine" Wrap="false" ></asp:TextBox>
</p>
<asp:TextBox id="response" runat="server" TextMode="MultiLine" Wrap="true" ></asp:TextBox>
<p class ="tim"> Set Timeout
<asp:TextBox id="timer1" runat="server" TextMode="MultiLine" Wrap="false" ></asp:TextBox></p>
</form>
当我运行ajax调用时,它返回表单所在的整个aspx页面。
这是为什么?编辑:Ajax调用是作为cmdButtonSend()的一部分调用的JavaScript方法的一部分;方法。
嗨,一些建议我如果您希望人们提供帮助,请执行以下操作:1)修复代码块 - 如果您希望其他人花时间帮助您,可以在问题上花费足够的时间来解决问题,例如缩进。 2)显示事情如何挂在一起。我看不到JavaScript如何获得通话。它是'cmdButtonSend();'。 – user1429080
对代码进行了一些更改,并且更清楚地说明了事物如何组合在一起 – jkb114
将contentType和dataType属性添加到$ .ajax调用中。另外,如果您要发送数据,则应该使用webmethod中的参数来接受该数据。 –