您好我正在尝试对我后面的代码中的方法进行简单的ajax调用。在这一点上,我只是测试,所以我保持尽可能简单,但它始终是错误的。我确定这只是一个简单的错误,但我不知道该怎么做。它似乎非常直接,它应该可以工作,但是当我点击按钮时,它会弹出一个提示“[object Object]”。这是我的代码,非常感谢任何帮助:
aspx文件:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestPage.aspx.cs" Inherits="Program.TestPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" id="btnSubmit" value="Submit" />
</div>
</form>
<script type="text/javascript">
$(function () {
$('#btnSubmit').click(function () {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "TestPage.aspx/InsertData",
dataType: "json",
data: "{}",
success: function (data) {
alert(data.d);
},
error: function (result) {
alert(result);
}
});
});
});
</script>
</body>
</html>
代码背后:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Text.RegularExpressions;
using System.Data.SqlClient;
using System.Web.Services;
namespace Program
{
public partial class TestPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public static string InsertData()
{
string retMessage = "ddd";
return retMessage;
}
}
}
更新
对不起大家,事实证明问题出在我的global.asax中。它正在拦截ajax请求,搞乱一切。一旦我确定HTTP是asax文件中的GET,它就会停止杀死我的ajax请求,并开始工作。
答案 0 :(得分:0)
在您的javascript中,您将InsertData
称为POST
尝试
[WebMethod]
[HttpPost]
public static JsonResult InsertData()
{
return Json(new { Message = "ddd" }, JsonRequestBehavior.AllowGet);
}
在你的javascript中,
success: function (data) {
alert(data.Message);
},
答案 1 :(得分:0)
你可以试试这个:
var dataToPost = "{ country:'" + 2 + "', amount:" + 4.02 + "}";
$.ajax({
url: @Url.Action("PostAmount", "Deal")',
type: "POST",
dataType: 'json',
data: dataToPost,
cache: false,
contentType: "application/jsonrequest; charset=utf-8",
success: function (data) {
alert("hi"+ data);
}
});