嘿,我做错了什么?我的JS文件停止了工作,我尝试了不同的方法,但它不起作用。我想点击一下按钮启动该功能" id"。
$(document).ready(function () {
$("#paybutton").click(function () {}
var params = ("projectpaymentoption=1197&id=");
var usernamepay = window.localStorage.getItem("username");
var paymenturl = params + usernamepay;
}
$.ajax({
type: 'post',
url: 'http://www.bla.de/phone/encode.php',
data: {
data: {
"usernamepay": usernamepay
},
}
success: function (result) {
console.log(result);
}
});
答案 0 :(得分:1)
您没有关闭所有括号,我假设您过早关闭了点击回调功能。您未正确结束括号。您的ajax调用超出了单击处理程序和就绪函数的范围。
注意:您需要学习使用缩进,括号放置和注释来帮助您将代码块视为执行的不同部分,这样您就可以发现ajax调用仅被触发一次(没有正确的变量)而不是在那个允许它多次发生的点击处理程序中。
在变量赋值中你不需要字符串周围的括号。
编辑:下一部分是角度特定的,而不是jquery,但不是无效的 .ajax()要求post请求中的数据采用字符串格式,而不是对象的格式。
重新组织代码以显示缩进并更正闭包,包括结尾});这是必要的。
删除了Parenthesizes,并将变量声明组合到一个var语句中(可读性和效率/文件大小)
也是个好主意我使用$.param(obj)
格式化传递的数据。
'use strict';
$(document).ready( function() {
$("#paybutton").click(function() {
var params = "projectpaymentoption=1197&id=",
usernamepay = window.localStorage.getItem("username"),
paymenturl = params + usernamepay;
$.ajax({
type: 'POST',
url: 'http://www.bla.de/phone/encode.php',
data: $.param({"usernamepay": usernamepay}),
success: function(result) {
console.log(result);
}
}); // end of ajax call
}); // end of #payButton click handler
}); // end of document.ready function
答案 1 :(得分:0)
下面的格式化代码。请从下次使用一些IDE。
$(document).ready(function...
功能已关闭,底部为});
。
已使用$("#paybutton").click(function(){..
});
删除了额外的data: {
声明,在,
之前加success: function()
。修正了其他缩进。
$(document).ready( function() {
$("#paybutton").click(function() {
var params = ("projectpaymentoption=1197&id=");
var usernamepay = window.localStorage.getItem("username");
var paymenturl = params + usernamepay;
$.ajax({
type: 'post',
url: 'http://www.bla.de/phone/encode.php',
data: {"usernamepay": usernamepay},
success: function(result) {
console.log(result);
}
});
});
});
答案 2 :(得分:-1)
你应该使用一些IDE(或者至少一些可以帮助你进行语法着色和括号匹配的程序 - notepad ++可能很棒)并为你的代码添加一些缩进
这是你的代码缩进,加上我在那里添加的一些评论 通过这种方式,您可以查看问题所在以及如何解决问题。
$(document).ready( function() {
$("#paybutton").click(function() {
// Nothing here
} // <-- Here you should close the click function (from two lines above), missing )
var params = ("projectpaymentoption=1197&id=");
var usernamepay = window.localStorage.getItem("username");
var paymenturl = params + usernamepay;
}
$.ajax({
type: 'post',
url: 'http://www.bla.de/phone/encode.php',
data: {
data: {"usernamepay": usernamepay},
} // <-- Here you should have a comma. Elements of object are separated with commas, just like your previous lines
success: function(result) {
console.log(result);
}
});
// <-- Here you should close the ready function (from the first line), missing )
答案 3 :(得分:-3)
在“成功”字段之前需要逗号。如果在代码中,但在数据对象文字中,则不需要。这是一个问题,但可能还有更多。