Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax调用asp.net webmethod,内部服务器错误_Javascript_C#_Jquery_Asp.net_Ajax - Fatal编程技术网

Javascript Ajax调用asp.net webmethod,内部服务器错误

Javascript Ajax调用asp.net webmethod,内部服务器错误,javascript,c#,jquery,asp.net,ajax,Javascript,C#,Jquery,Asp.net,Ajax,我在一个网页上有一段JavaScript,允许用户扫描序列号,然后将序列号发送到一个webmethod,在该webmethod中,数据库记录该序列号并生成一个TXT文件 webmethod中的内容无关紧要,因为代码永远不会运行。(即使删除整个方法,只需将bool更改为true,因为示例也会返回相同的错误)。以下是Js: 函数sendingReady(){ saveSerialNumbers(); var employeeNr=document.getElementById(“用户代码”).tex

我在一个网页上有一段JavaScript,允许用户扫描序列号,然后将序列号发送到一个webmethod,在该webmethod中,数据库记录该序列号并生成一个TXT文件

webmethod中的内容无关紧要,因为代码永远不会运行。(即使删除整个方法,只需将bool更改为true,因为示例也会返回相同的错误)。以下是Js:

函数sendingReady(){
saveSerialNumbers();
var employeeNr=document.getElementById(“用户代码”).textContent;
var productNr=document.getElementById(“productCode”).textContent;
变量cnt={
雇员编号:雇员,
产品编号:productNr
};
$.ajax({
类型:“POST”,
url:“WebServices.asmx/sendingReady”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
数据:JSON.stringify({
“cnt”:cnt
}),
成功:函数(){
console.log(“成功发送就绪”)
},
错误:函数(){}
});
var succes=“succes”;
setItem(“SuccesVerzenden”,succes);
}
函数saveSerialNumbers(){
var scannedserials=[];
var errorchoises=[];
var Table=document.getElementById(“SerialListContainer”);
var rowLength=Table.rows.length;
对于(i=0;i
为了使功能发挥最大作用,我在日志中获得了“SuccesssendingReady”消息。但是,由顶部函数调用的底部函数没有。从将数据作为4个单独的实例发送到更改Ajax调用中的选项,再到更改收件人webmethod,我已经尝试了各种方法。这就是我们所说的方法:

[System.Web.Services.WebMethod]
public void createSendingCeetisFile(SendingErrors cnt)
{
//unimportant code that doesn't ever run anyway; 
}
发送错误为:

public class SendingErrors
{
    public string[] serialNumber { get; set; }
    public string[] sendingErrorcode { get; set; }
    public string[] dollies { get; set; }
    public string personalNumber { get; set; }
    public string productNumber { get; set; }
}
娃娃还没有被使用。我正在使用IIS,但还没有找到调试服务器端的任何方法;显示的所有IIS日志都是通用的“500”,没有进一步的详细信息


我真的希望我错过了一些明显的东西,但在通过这些论坛和其他网站搜寻了一天多一点的答案后,我有点失去了希望

感谢阿德尔·哈立德先生和姆普隆詹先生的帮助。虽然您的回答都不是直接的答案,但理解它给了我一个想法,尝试从其他函数中删除该函数,然后直接从按钮调用它。这就成功了。我仍然会遇到一个奇怪的错误,但是这个函数做了它应该做的一切,将记录保存到数据库中,并将其写入一个文件,以便在不同的程序中使用

var succes=“succes”;setItem(“SuccesVerzenden”,succes)肯定放错地方了。它需要在success函数中-它可能是这个函数的副本:您使用的是.Net Framework还是.Net Core?@mplungjan您是对的,它位于错误的位置,但也没有导致错误。。ajax工作得很好,是第二个(createSendingCeetisFile)出现错误。@老实说,我不确定,我对Asp.net还比较陌生,尽管我对C有更大的背景知识,但我一直使用Visual Studio。我不是这段代码的原始作者,那些向我保证这一切都非常简单和有效的人,但现在我被困在调试东西上,只理解了一半。要知道您是否在.Net Core上,最简单的方法是查看您的项目是否有一个名为
project.json
的文件(假设您没有使用消除此文件的VS 2017)。如果没有,那么您使用的是.NETFramework。因此,它很可能是同步/异步的,但我仍然不确定为什么。代码自上而下地运行在我的编程背景中是如此根深蒂固,我很难意识到这一切是如何工作的。