Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.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请求从数据库检索数据的正确方法_Javascript_C#_Jquery_Html_Ajax - Fatal编程技术网

Javascript 执行AJAX请求从数据库检索数据的正确方法

Javascript 执行AJAX请求从数据库检索数据的正确方法,javascript,c#,jquery,html,ajax,Javascript,C#,Jquery,Html,Ajax,我有一个数据库,里面有一个表。 表中有公司列和时间列,还有其他一些列,但这两个列很重要。 因此,用户通过填写表单进行预约。 在表格中,我有两个s-公司和时间,所以他从两个选项中进行选择。 他点击一个按钮,表单被存储在数据库中。 如何使用AJAX检索所有正在使用的小时,然后相应地禁用它们。 例如:我从公司和时间下拉列表中选择了诺基亚,进行了预约。现在您想与诺基亚进行预约,但9:30时间已被禁用,因为该时间已被使用。 在这方面使用AJAX的正确方法是什么: 这是我的结构 function Make

我有一个数据库,里面有一个表。 表中有公司列和时间列,还有其他一些列,但这两个列很重要。 因此,用户通过填写表单进行预约。 在表格中,我有两个s-公司和时间,所以他从两个选项中进行选择。 他点击一个按钮,表单被存储在数据库中。 如何使用AJAX检索所有正在使用的小时,然后相应地禁用它们。 例如:我从公司和时间下拉列表中选择了诺基亚,进行了预约。现在您想与诺基亚进行预约,但9:30时间已被禁用,因为该时间已被使用。 在这方面使用AJAX的正确方法是什么: 这是我的结构

 function MakeApp() {

        var AppWith = $("#CompanySelect").val();
        var AppTime = $("#TimeSelect").val();
        var Yritys = $("#YritysNtext").val();
        var Henkilonimi = $("#HenkilonimiText").val();
        var Asema = $("#AsemaText").val();
        var PuhelinNR = $("#PuhelinText").val();
        var EMail = $("#EMailText").val();
        var Keskustelun = $("#KeskustelunText").val();
        var app = { AppWithYritys: AppWith, AppTime: AppTime, YritysN: Yritys, Henkilonimi: Henkilonimi, Asema: Asema, PuhelinNR: PuhelinNR, EMail: EMail, Keskustelun: Keskustelun }

        var request = $.ajax({
            type: "POST",
            data: JSON.stringify(app),
            url: "/api/Appointments",
            contentType: "application/json",
            dataType: "html"
        });
        request.done(function (podaci) {
            if (podaci != -1) {
                alert("You Have successfully made an appointment");
                location.assign("BookAppointment.html");
            }
            else {
                $("#p1").html("Greska pri unosu");
            }
        });

        request.fail(function (gr) {
            $("#p1").html(gr.statusText);
        });
    };

实际上,管理数据和数据库是服务器的工作。AJAX只是一种将信息同步发送到服务器的方法。您可以做的是,当您加载页面时,使用AJAX只检索占用的时间,在select中禁用它们的选项,并且每当您的服务器收到请求时,它都会检查公司是否有可用的位置和时间

很抱歉,我没有你的密码,因为我觉得很清楚。如果不是,请随意评论,我会尽力帮助你

编辑 这里我有几行代码,它不完整,因为我们缺少一些信息,但它是主要的算法

您的服务器:

{GET}
public void getUnavailable() {
    //get all times from Databases for today's date., 
    //Encode them in JSON.
    //returns the times.
}
假设您的JSON如下所示:

[
{
    "company": "Nokia",
    "times": [
        "9:30",
        "10:00",
        "10:30"
    ]
}
]
您需要检索JSON并对其进行解析,以禁用所选select中的时间:


这是我所能做的最多的信息。

处理这一问题的真正方法,是使用/api/appoints背后的任何web技术,返回任何可用的约会。您的变量名对我来说没有多大意义,所以请尝试理解下面的代码的作用

$.get( "/api/Appointments", JSON.stringify(app) )
  .done(function( data ) {
    //note that the "data" variable holds your returned appointments
    //I would return a json document of available appointment times to filter your select


    //sample json would look something like this
    // { "availableAppointments": ["9:30 AM", "10:00 AM"] }


    // and then iterate through available appointments and populate your select
    for(var i = 0; i < data.availableAppointments.length; i++){
         $('#yourSelectId').append($('<option>', {
           value: 930,
           text: data.availableAppointments[i]
         }));
    }

  });
请注意,此代码的语法可能不正确

以下是一些帮助我回答这个问题的链接,以防它们有所帮助


AJAX与从数据库检索数据无关。这一切都发生在/api/约会的背后。这里到底发生了什么问题?我想你不明白我的问题。我正在尝试获取所有正在使用的小时数,具体取决于所选的公司,然后禁用它。还是你明白了?我不能用Ajax来做这个?那我怎么能通过控制器来做呢@DavidIt似乎更可能是您不理解您的问题。您的代码中当前不起作用的是什么?您正在尝试的具体技术操作是什么?它是如何不按预期工作的?我们真的无法满足高层次的业务需求,因此诸如所有使用时间或所选公司之类的术语在这里毫无意义。但是如果你有一个具体的技术问题,我们可以帮助你解决。这不是一个业务需求,实际上是一个实践项目,有3个公司和3个小时。代码正在工作,我只是不知道我必须添加什么,以便应用程序可以从9:00、9:30、10:00的巨大列表中获取所有小时,然后禁用正在使用的时间?有可能吗?再说一次,您的业务需求无论是否来自实际业务都是无关紧要的,对技术来说没有任何意义。关注具体的技术问题。你从哪里得到这些数据?数据是什么样子的?您正在对数据执行哪些操作?仅仅给我们需求并期望我们为您编写代码并不会让您走得更远。至于是否可能,是的,可以从数据库检索数据并基于该数据执行逻辑。但在你的问题中没有这一点。我理解你在理论上说的话,但我的实践很糟糕,我仍在努力学习,这就是实践。如果你不想为代码费心,你可以建议一些教程,这会很有帮助吗?我心里没有教程,但我会尝试给你一些你能理解的代码。给我几分钟。这可能会有所帮助,只是JSON的一部分,我不太明白,这是我填写的方式吗?并获取当前公司的选择,我应该getElementbyI.SelectedIndex?并在getUnavailable中创建一个列表并用数据库中已经存在的时间填充它?然后返回列表?没关系,别担心,编程不是一个容易的领域,但你会看到它是一个有趣的领域!
$.get( "/api/Appointments", JSON.stringify(app) )
  .done(function( data ) {
    //note that the "data" variable holds your returned appointments
    //I would return a json document of available appointment times to filter your select


    //sample json would look something like this
    // { "availableAppointments": ["9:30 AM", "10:00 AM"] }


    // and then iterate through available appointments and populate your select
    for(var i = 0; i < data.availableAppointments.length; i++){
         $('#yourSelectId').append($('<option>', {
           value: 930,
           text: data.availableAppointments[i]
         }));
    }

  });