[英]jQuery Ajax call not working
我只是想使用jQuery进行简单的Ajax调用
这是我的JavaScript:
//Starts the game
function startGame() {
$.ajax({
type: "POST",
url: "Default.aspx/StartGame"
});
}
我的按钮:
<input type="image" value="twist..." src="images/play.png" class="playButton" onclick="startGame();return false;" />
和后面的代码:
public partial class Default : Page
{
private static GameEngine GameEngine
{
get { return new GameEngine();}
}
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public void StartGame()
{
GameEngine.StartToPlay();
}
}
当我在Visual Studio中调试代码时,永远不会调用StartGame
方法。
谁能向我解释什么问题?
我对.net不熟悉,但似乎您的Javascript代码发出了POST请求,而后端只有GET处理程序。
通常,最好能够调试每个层上的功能。 例如,您可以检查您的请求是否被触发(或分析Firefox上Firebug扩展的问题所在。Chrome和Safari具有类似的调试机制。
来自: http : //encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/
您缺少$ .ajax的参数(contentType和dataType):
function startGame() {
$.ajax({
type: "POST",
url:"Default.aspx/StartGame"
contentType: "application/json; charset=utf-8",
data: "{}",
dataType: "json"
});
}
我相信,因为您将请求设置为POST,并且没有发送任何POST数据,例如:
$.ajax({
type: "POST",
url: "Default.aspx/StartGame",
data: "name=John",
success: function(msg){
alert(msg);
}
});
如果您只是检索html,则应使用:
$.ajax({
url: "Default.aspx/StartGame",
cache: false,
success: function(html){
//create the game html
$("#game").append(html);
}
});
我将StartGame()设为静态,现在可以使用了
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.