我只是想做一个像这样的简单请求:
$('.asd').change(
function () {
$.ajax({
url: 'http://127.0.0.1/folder/index.php/controller/action/integer',
success: function(data){}
});
}
);
此代码尝试转到http://127.0.0.1/folder/index.php/controller/[object%20Object]并获取404.它从哪里拉出对象?我正在使用一个简单的字符串。
答案 0 :(得分:18)
对我来说问题是我使用的是$.post
而不是$.ajax
。
// fails:
$.post({
url: "/example/" + this.id,
// ...
});
// works:
$.ajax({
url: "/example/" + this.id,
// ...
});
答案 1 :(得分:7)
public async Task<ActionResult> ClaimDetail() { /* ... */ }
需要参数图。
ajax
需要单个参数:
post
答案 2 :(得分:4)
我遇到了同样的问题并且一直在寻找答案。不幸的是,这个贡献者从来没有回来过。我是一个愚蠢的错误。从Ajax返回后,我在一个保留字后无意中命名了我的变量。这就是我所拥有的:
$.post('/MyApp.php', { param: 'getLocation' },
function(xml) {
location=$(xml).find('Location');
}
});
像这样编码,从Ajax返回后,页面被重定向到http:// myurl / [Object%20object],现在非常有意义。
解决方案:将“location = $ ...”更改为“clocation = $ ...” 希望这个答案可以帮助别人。调试很难。
答案 3 :(得分:2)
对我来说,在Play中工作并使用jsRoutes这一点非常痛苦。
似乎Play(javaScript)将使用以下语法无问题地执行Ajax GET:
$.ajax(jsRoutes.controllers.MyController.ajax(inurlparam))
.done(function(data) {
}).fail(function(data) {
})
然而(这里是令人讨厌的部分)...如果你想进行POST,你需要首先在URL上使用absolutURL()
方法来获取ajax(或post)不包含{ {1}}在发布时间进入网址。没有多少调试网址或表格参数似乎表明发生了什么,也没有原因。我只是完全“猜到”这个解决方案是出于纯粹的挫败感。 PS:注意[object%20Object]
末尾的括号 - js人们会立即得到那些意思“做”这个功能,而不仅仅是把它传递给它。
absolutURL()
我在这里回答这个问题,因为这是谷歌引领我的地方,一旦我终于意识到它可能不是我编码导致问题:)
答案 4 :(得分:0)
您必须将文本反序列化为Number(Int):
var ID = parseInt(
$(this)
.closest("tr") //tr of DataTable
.find("td") //td of ....
.eq(0)
.text(),
10
);