Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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_Jquery_Json_Ajax - Fatal编程技术网

Javascript Ajax请求失败

Javascript Ajax请求失败,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,我正在做一个联系人表单,我正在尝试使用AJAX。我看过一些youtube指南,但代码对我不起作用。我相信问题出在datosEnviados对象上,但我不知道如何修复它。我尝试使用parse函数,但它也不起作用 我得到的错误如下 SyntaxError:JSON中位于位置0(…)的意外标记

我正在做一个联系人表单,我正在尝试使用AJAX。我看过一些youtube指南,但代码对我不起作用。我相信问题出在
datosEnviados
对象上,但我不知道如何修复它。我尝试使用parse函数,但它也不起作用

我得到的错误如下
SyntaxError:JSON中位于位置0(…)的意外标记<

我的JS函数的代码是:

函数ejecutarAjax(事件){
变量datosEnviados={
“nombre”:$('#nombres').val(),
“电子邮件”:$('#email').val(),
“comentario”:$(“#comentario”).val()
}
$.ajax({
键入:“POST”,
url:“../php/enviar_contacto.php”,
数据:datosEnviados,
数据类型:“json”,
编码:正确
})
.done(函数(){
警报(“正常”);
})
.失败(功能(jqXhr、状态、错误){
警报(状态+':'+错误+':'+jqXhr.responseText);
});
event.preventDefault();
}
在定义
datosEnviados
时,我的语法有什么问题吗?还是其他什么问题


提前感谢

试试这个

function ejecutarAjax(event) {
event.preventDefault(); //This should be at top

var datosEnviados = {
    //Try with replace "nombre" to nombre(Remove "")
     number : $('#nombres').val(),
     email : $('#email').val(),
     comentario : $('#comentario').val()
    }
    $.ajax({
        type    : 'POST',
        url     : '../php/enviar_contacto.php',
        data    : datosEnviados,
        dataType: 'json',
        encode  : true
    })
备选方案

function ejecutarAjax(event) {
event.preventDefault(); //This should be at top

    $.ajax({
        type    : 'POST',
        url     : '../php/enviar_contacto.php',
        data    : {
               nombre : $('#nombres').val(),
               email : $('#email').val(),
               comentario : $('#comentario').val()
        },
        success: function(data){
             //Your code goes here
        }
    })

希望这能起作用

看起来问题出在json输出中,所以您最好检查/调试您的
enviar\u contacto.php
尝试:
dataType:'html'
,如果没有错误,那么检查您的json输出。您使用的是json数据类型。应该在enviar_contacto.php页面中使用json_decode函数,或者在JavaScript回复中使用follow@NoSkill comments,因为您收到的是HTML,并且您明确要求使用json。因为您没有收到有效的JSON,所以您会得到一个错误,即“预期JSON”的第一个字符是无效字符“@NoSkill我已更改为html,它正在工作!非常感谢您,因此他可以使用newForm()