Javascript 将值传递给JSON Post请求

Javascript 将值传递给JSON Post请求,javascript,json,event-handling,Javascript,Json,Event Handling,我最初的问题是,当用户单击“撰写”按钮而不是“发送”按钮时,它获取的是值 现在,我已将其更改为在用户单击“发送”时使用不同的新功能。然而,现在它什么也没做 有人能告诉我我做错了什么吗?我在HTML中使用了onclick方法,然后在Javascript页面上创建了该函数 HTML: 好的,在这种情况下,您需要对代码进行调查: 检查fred是否实际上是一个字符串,而不是未定义的。另外,将其设为显式常量 const fred=document.querySelector(“#撰写主题”)。值//已更改

我最初的问题是,当用户单击“撰写”按钮而不是“发送”按钮时,它获取的是值

现在,我已将其更改为在用户单击“发送”时使用不同的新功能。然而,现在它什么也没做

有人能告诉我我做错了什么吗?我在HTML中使用了onclick方法,然后在Javascript页面上创建了该函数

HTML:


好的,在这种情况下,您需要对代码进行调查:

  • 检查
    fred
    是否实际上是一个字符串,而不是
    未定义的
    。另外,将其设为显式常量
  • const fred=document.querySelector(“#撰写主题”)。值//已更改
    console.log(fred);//刚出现的
    获取(“/emails”{
    方法:“POST”,
    正文:JSON.stringify({
    收件人:'card51short@gmail.com',
    主题:弗雷德,
    身体:“他是个胖子”
    })
    })
    .then(response=>response.json())
    。然后(结果=>{
    //打印结果
    控制台日志(结果);
    });
    
  • 如果一切正常,请对提取返回的内容进行下一次检查:
  • const fred=document.querySelector(“#撰写主题”).value
    获取(“/emails”{
    方法:“POST”,
    正文:JSON.stringify({
    收件人:'card51short@gmail.com',
    主题:弗雷德,
    身体:“他是个胖子”
    })
    })
    。然后(响应=>{//
    console.log(响应);//新建
    return response.json()//已编辑
    })//编辑
    。然后(结果=>{
    //打印结果
    控制台日志(结果);
    });
    

    在此过程结束时,您应该找到不起作用的内容

    好的,在这种情况下,您需要对代码进行调查:

  • 检查
    fred
    是否实际上是一个字符串,而不是
    未定义的
    。另外,将其设为显式常量
  • const fred=document.querySelector(“#撰写主题”)。值//已更改
    console.log(fred);//刚出现的
    获取(“/emails”{
    方法:“POST”,
    正文:JSON.stringify({
    收件人:'card51short@gmail.com',
    主题:弗雷德,
    身体:“他是个胖子”
    })
    })
    .then(response=>response.json())
    。然后(结果=>{
    //打印结果
    控制台日志(结果);
    });
    
  • 如果一切正常,请对提取返回的内容进行下一次检查:
  • const fred=document.querySelector(“#撰写主题”).value
    获取(“/emails”{
    方法:“POST”,
    正文:JSON.stringify({
    收件人:'card51short@gmail.com',
    主题:弗雷德,
    身体:“他是个胖子”
    })
    })
    。然后(响应=>{//
    console.log(响应);//新建
    return response.json()//已编辑
    })//编辑
    。然后(结果=>{
    //打印结果
    控制台日志(结果);
    });
    
    您应该在该过程结束时找到不起作用的内容

    对于非输入标记,“value”属性返回未定义。 尝试改用innerHTML:

    fred = document.querySelector('#compose-subject').innerHTML;
    
    通过cosole.log测试fred的值:

    console.log(fred);
    
    “value”属性返回未定义的非输入标记。 尝试改用innerHTML:

    fred = document.querySelector('#compose-subject').innerHTML;
    
    通过cosole.log测试fred的值:

    console.log(fred);
    


    请澄清什么不起作用。你有错误吗?您是否检查了
    fred
    变量是否包含任何内容,而不是
    未定义的
    ?它是空的。没有错误。
    console.log(fred)
    print是什么意思?你说的“什么都不做”是什么意思?它没有按预期运行函数。什么也没发生。没有错误。但是,我再次更改了代码。请澄清什么不起作用。你有错误吗?您是否检查了
    fred
    变量是否包含任何内容,而不是
    未定义的
    ?它是空的。没有错误。
    console.log(fred)
    print是什么意思?你说的“什么都不做”是什么意思?它没有按预期运行函数。什么也没发生。没有错误。但是,我再次更改了代码。
    innerHTML
    不会返回输入值。我们不知道撰写主题是否是输入,但我猜是。@robo robok我同意。更新了上面的响应。控制台日志完全为空。什么都看不出来。我想我知道这个问题。这些值是在用户单击“撰写电子邮件”时传递的,而不是在用户单击“发送电子邮件”时传递的。所以它没有得到任何值,因为它在打开撰写电子邮件表单时立即进行检查。我想让它在用户点击发送按钮后获得值你们能看看我上面的新版本吗?在他们点击submit按钮后,它会让函数运行。谢谢
    innerHTML
    不会返回输入值。我们不知道撰写主题是否是输入,但我猜是。@robo robok我同意。更新了上面的响应。控制台日志完全为空。什么都看不出来。我想我知道这个问题。这些值是在用户单击“撰写电子邮件”时传递的,而不是在用户单击“发送电子邮件”时传递的。所以它没有得到任何值,因为它在打开撰写电子邮件表单时立即进行检查。我想让它在用户点击发送按钮后获得值你们能看看我上面的新版本吗?在他们点击submit按钮后,它会让函数运行。谢谢你。我改变了我的问题上面,如果你可以检查。我明白了为什么它会得到一个空白元素——它是在用户填写之前得到元素的值。现在我有一个新问题。谢谢如果答案对您有帮助,请将其标记为已接受:)谢谢。我改变了我的问题上面,如果你可以检查。我明白了为什么它会得到一个空白元素——它是在用户填写之前得到元素的值。现在我有一个新问题。谢谢如果答案对您有帮助,请将其标记为已接受:)