jquery.ajaxからaspxにデータを送信し、そこで解析して応答に書き込みますが、そのデータはエラー部分に入っています。表示されていないエラーが発生していると思いますが、正しいデータがエラーで返されています部。コードは以下です。
Jクエリ
var json = "{'uname':'" + $("#uname").val() + "','pwd':'" + $("#pwd").val() + "'}";
alert(json);
$.ajax({
type: "POST",
url: "DataProcess.aspx?Save=1",
data: json,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (msg) {
alert(msg);
},
error: function (msg) { alert("failed: " + msg.responseText); }
});
DataProcess.aspx.cs
namespace Test
{
public partial class DataProcess : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
ProcessAjaxRequest();
}
private void ProcessAjaxRequest()
{
if (Request.ContentType.Contains("json") && Request.QueryString["Save"] != null)
SaveMyData();
}
private void SaveMyData()
{
System.IO.StreamReader sr = new System.IO.StreamReader(Request.InputStream);
string line = "";
line = sr.ReadToEnd();
JObject jo = JObject.Parse(line);
Response.Write(line);
Response.Write((string)jo["uname"]);
Response.Write((string)jo["pwd"]);
}
}
}
それで、エラー部分で応答が得られますが、何が問題なのですか?
K 問題が発生しました。上記のコードは正しいです。もう 1 つの疑問は、この同じ aspx.cs から特定の非静的メソッドを呼び出すことができるかということです。つまり、この "DataProcess.aspx/Test?Save=1" のようなものを試したときのことです。 . Webメソッドではないというエラーが表示されます。メソッドを次のように宣言しました
[WebMethod]
public void Test(){
}
K の皆さん、私は問題がなくなったと思っていましたが、ちょうど今、私がこの Response.Write("success") のような応答に文字列を書くと、jquery エラーブロックに来ることを観察しましたが、私がこのようなものを書くと " Response.Write(0);"、成功ブロックに来ています。最初のものも来るべきです、誰かが問題を説明してください
ありがとう