Javascript SweetAlert:第二个参数(“未定义”)无效
我正在使用php、jquery和ajax来设计和开发我的网站。问题是在一个页面上,我想使用sweet警报通过ajax和php插入一条记录。我希望用户按下sweet alert的yes按钮来执行插入php。当我检查控制台时,记录没有插入,它给了我一个错误 我的项目是本地设计的,这就是为什么我没有使用cdn。相反,所有JavaScript和css文件都在我的项目目录中。我没有导入它们,而是将cdn url粘贴到搜索框中,然后复制/粘贴出来的内容。甜警报也是如此 这是ajax和sweet警报代码:Javascript SweetAlert:第二个参数(“未定义”)无效,javascript,jquery,ajax,sweetalert,Javascript,Jquery,Ajax,Sweetalert,我正在使用php、jquery和ajax来设计和开发我的网站。问题是在一个页面上,我想使用sweet警报通过ajax和php插入一条记录。我希望用户按下sweet alert的yes按钮来执行插入php。当我检查控制台时,记录没有插入,它给了我一个错误 我的项目是本地设计的,这就是为什么我没有使用cdn。相反,所有JavaScript和css文件都在我的项目目录中。我没有导入它们,而是将cdn url粘贴到搜索框中,然后复制/粘贴出来的内容。甜警报也是如此 这是ajax和sweet警报代码: s
swal("", "Do you really want to create this project?", "warning", {
buttons : {
confirm : "Yes",
cancel : "No"
}
})
.then((value) => {
switch (value) {
case true :
$.ajax({
type: "POST",
url: "customer.php",
data: {"Name":name, "Descpt":descpt, "Category":category, "Skills":skills},
dataType: 'JSON',
success: function(feedback) {
if (feedback.status === "success")
{
swal("", feedback.message, "success", {buttons : false});
}
else
{
swal("Fatal error occurred", feedback.message, "error", {buttons : false});
}
},
error: function(feedback) {
swal("Fatal error occurred", feedback.message, "error", {buttons : false});
}
});
break;
}
});
这就是它给我的错误:
未捕获的SweetAlert:第二个参数“未定义”无效
它们也是另一种形式,我在其中执行了相同的操作,仅当用户在sweet alert上按yes时才插入一条记录,而且效果非常好。我不知道这个错误是什么。我甚至复制并粘贴了我之前在另一个页面中使用的sweet警报代码,但仍然出现了相同的错误
在跟踪sweet alert文件后,我找到了这一行,它实际上给了我一个问题:
e.throwErr = function(t) {
throw t = t.replace(/ +(?= )/g, ""),
"SweetAlert: " + (t = t.trim())
}
我还可以给你看一个对我来说非常有效的罐子。希望你能发现其中的差异:
swal("Registering Without Email", "Are you sure that you want to register your account without providing the email?", "warning", {
buttons : {
confirm : "Yes",
cancel : "No"
}
})
.then((value) => {
switch (value) {
case true :
workEmail = "no email";
$.ajax({
type : "POST",
url : "register_worker.php",
data : {"name":workName, "email":workEmail, 'password':workPassword, "contact":workPhone, "address":workAddress, "nic":workNic},
dataType : 'JSON',
success : function(feedback) {
if (feedback.status === "success")
{
window.location = "/Dashboard";
}
else if (feedback.status === "error")
{
swal("", feedback.message, "error");
}
else
{
alert('error occurred ' + feedback.message);
}
},
error : function(feedback) {
alert ('Unknown error occurred ' + feedback.message);
}
});
break;
}
});
请帮助…此错误可能是从promise中的swal函数引发的。未设置feedback.message,这将导致sweet alert抱怨“undefined”不是消息正文的有效参数
您的代码没有任何问题,只是希望从服务器端得到一些您没有得到的东西。最后我知道了错误所在。我无法从选择框中选择值。首先是html代码:
<select class="form-control" id="cateogry" name="category">
<option value="0" disabled selected>Choose Project Category</option>
<option value="active">Active Project</option>
<option value="drafted">Drafted Project</option>
</select>
但是仍然没有成功,请告诉我该怎么做。使用console.logfeedback查看该对象包含的内容;这可能是问题所在,因为在三个地方,您将feedback.message传递给swal。“我找到了它实际上给我带来问题的那一行”-不,这看起来像是脚本的一部分,在显示错误消息之前对其进行格式化,但与错误实际发生的地方不同…实际上它没有给出任何消息。它甚至不执行succes或error函数。那么我该如何检查错误呢。请告诉我……我想知道这是否是sweet alert支持的语法。我经常使用它,我从未传递过这样的参数,在文档中也找不到。所以有两件事:我知道你可以把三个参数传递给一个swal函数,比如swaltitle、message、messageType。我知道你可以有更多的配置,但是你需要传递一个设置对象和一个函数。您确定您使用的语法有效吗?您使用的是Sweet Alert,还是Sweet Alert 2?@KjetilNordin我提到过,这个具有完全相同swal函数的脚本非常适合另一个php文件。所有的问题都是由这个引起的。好吧,那可能是个问题。仅当它返回success或error函数时。他们在我的php文件中没有错误,该文件假定插入记录,然后返回反馈消息。但是我的php脚本没有正常运行。请看@Pointy对原始问题的评论。成功后立即插入行console.logfeedback:functionfeedback{并让我们知道控制台所说的内容。这将为您和我们提供更多信息。继续探索和添加信息做得很好。但是最好使用此信息更新问题,因为它实际上不是答案。在这里,您的错误可能是您选择的id拼写错误为category而不是category。但是没有任何其他信息,我都很难将此链接到您的原始问题。您的解释有点到处都是。此外,您一直在寻求帮助,但实际上您并没有尝试回答试图帮助您的人提出的一些问题。因此,我将再试一次。让我们知道控制台中的console.logfeedback结果。并告诉我们您是否正在使用sweet alert或sweet alert 2。这些信息对于我们进一步帮助您非常重要。
$(document).ready(function () {
//First thing i tried
var category = $('#category').val();
//Second thing i tried
var category = $('#category').filter(":selected").val();
//Third thing i tried
var category = $('#category').find(":selected").text();
//Fourth thing i tried
var category = $('#category').find(":selected").val();
});