私は投稿するたびにwebmethodに投稿するajax呼び出しを試みました。投稿するたびにaspxページ全体が返されます。ここで は、Ajax呼び出しです:Ajax投稿完全な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ページ全体が返されます。
これはなぜですか?
EDIT:Ajax呼び出しは、cmdButtonSend()の一部として呼び出されるJavaScriptメソッドの一部です。方法。
こんにちは、いくつかのアドバイスi 1)コードブロックを修正する - 他の人があなたを助けるために時間を費やすことを期待するならば、インデントなどの問題を解決するのに十分な時間を費やすことができます。 2)物事がどのようにぶら下がっているかを示す私はJavaScriptがどのように呼び出されるのかは分かりません。それは 'cmdButtonSend();'です。 – user1429080
コードを少し変更して、物事がどのようにフィットするかを明確にしました – jkb114
$ .ajaxコールにcontentTypeとdataTypeプロパティを追加しました。また、データを送信する場合は、そのデータを受け入れるためのパラメータをWebメソッドに含める必要があります。 –