无法正常工作 Ajax 休息调用



此调用同时发出 2 个请求,但在使用 postman 时仅生成一个请求。如果有任何1可以提供帮助,将不胜感激。虽然一开始只发送一个,但现在每次生成 2 个请求。尽管在评论中放置警报只会在屏幕上显示一次。

如果需要实际的URL,我将再次编辑问题并放置实际值。

$(function(){
$("#form").on("submit", function(e){
    this.disabled = true;
    var Subject = $("input[name=Subject]").val();
    var Detail = $("textarea[name=Detail]").val();
    var Name = $("input[name=Name]").val();
    var Email = $("input[name=Email]").val();
    var Request = $( "#myselect option:selected" ).val();
    var data = JSON.stringify({u_source:"sssss", u_subject:Subject,u_description:Detail,u_name:Name,u_email:Email,u_category:Request})
    var settings = {
  "async": true,
  "crossDomain": true,
  "url": "something",
  "method": "POST",
  "headers": {
"accept": "application/json",
"content-type": "application/json",
"authorization": "Basic something",
"cache-control": "no-cache"
 },
 "processData": false,
 "data": data,
 "dataType": 'json'
}
$.ajax(settings).done(function (response) {
 alert('Thank you, Your feedback has been recorded');
 $('.overlay').hide();
 form.reset();
});
$.ajax(settings).fail(function (response) {
 alert('Sorry, Something went wrong. Please try again');
 $('.overlay').hide();
 form.reset();
});
  e.preventDefault(); 
  });
});

对不起,如果我犯了一个愚蠢的错误,请帮助我解决这个问题

尝试使用类似的东西:)它有效!

string data='name:test & email:test@test';
     $.ajax({
        url: "restApi.php"
        method: "POST",
        data: data
        contentType: "application/json"

 }

 success: function(){
            alert('Email Send'); 
});

//Php 页面

if((isset($_POST['name']))&&(isset($_POST['email'])))
{
    $name=$_POST['name'];
    $email=$_POST['email']);
}

好的,这里有几件事需要解决。

首先

您不能发送POST数据并使用jsonp作为dataType,因为它将一些数据附加到查询字符串中,强制将请求作为GET请求发送。

要么改用json,要么完全删除它。与cache:true类似,它也会产生相同的效果。其中任何一个都会导致请求作为GET请求发送。

尝试使用此请求:

$.ajax({
    url: "https://nespreprod.service-now.com/api/now/v1/table/u_incident_rest_inbound", //your api url is here
    //Host: "nespreprod.service-now.com",
    method: "POST",
    data: data,
    dataType: 'json',
    crossDomain: true,
    contentType: "application/json",
    accepts: "application/json",
    beforeSend: function(client) {
        //Authorization: "Basic " + btoa(username + ":" + password);
        client.setRequestHeader('Authorization', "Basic c3ZjLnJlc3QudHVyYXM6TjM1cmVzVEFQMQ==");
    },
    //Authorization: "Basic " + btoa(username + ":" + password),
    success: function(client, status, error) {
        alert('Email Send');
        //$('.overlay').hide();
    },
    error: function(client, status, error) {
        alert('Please Try again Later!');
        //$('.overlay').hide();;
    }
});

其次,对于您要发送的数据,您需要删除 JSON.stringify 调用中参数周围的单引号,即这一行:

 data: JSON.stringify({"u_source":"tarus", 'u_subject':Subject,'u_detail':Detail,'u_name':Name,'u_email':Email,'u_request':Request}),

应该变成:

 data: JSON.stringify({u_source:"tarus", u_subject:Subject,u_detail:Detail,u_name:Name,u_email:Email,u_request:Request}),

最新更新