AJAX调用不会发送数据

时间:2014-12-15 16:05:01

标签: javascript ajax html5 netsuite

我知道有很多问题已经存在,但这些似乎都没有。我试图将数据从表单发送到NetSuite上的一个suitelet,但它甚至不发送数据。有没有人知道我哪里错了?

我一直在控制台中获取Partial Content作为statusText。

$("#save").click(function(e){
    e.preventDefault();
    signup();
});

var signup = function(){
    var name = $('#name').val();
    var server = $('#server').val();
    var username = $('#user').val();
    var pwd = $('#pwd').val();
    var active = $('#active').val();

    $.ajax({
        url: '/services/save.ss',
        data: {
            name : name,
            server : server,
            username : username,
            password : pwd,
            active : active
        },
        type: 'post',
        dataType: 'json',
        success: function(response){
            console.log(response);
        },
        error: function(response){
            console.log('error: ' + JSON.stringify(response));
        }

    })
}

4 个答案:

答案 0 :(得分:0)

我不确定,但这可能会对你有所帮助,你可以添加' return false'在signup()之后调用按钮点击事件调用或添加" async:false,"在成功之前:'功能在ajax。

答案 1 :(得分:0)

您忘了提及contentType: "application/json; charset=utf-8"。将您的数据设为{ "name ":name,"server":server,"username":username,"password";password,"active":active }并将其放入var然后传递给它。

var jsonData = { "name":name,"server":server,"username":username,"password";password,"active":active };
    $.ajax({
      type: "POST",
      contentType: "application/json; charset=utf-8",
      url: "/services/save.ss",
      dataType: "json",
      data: jsonData,
      success: function(response){
        console.log(response);
      },
      error: function(response){
        console.log('error: ' + JSON.stringify(response));
      }
  });

确保您的服务器端代码正确以捕获JSON数据。

答案 2 :(得分:0)

检查您的suitelet是否完全打开,如果没有在CORS上阅读以及如何使用JSONP。

答案 3 :(得分:0)

显然,除非套件与Javascript代码位于同一子域中,否则您将获得一个"部分内容"响应。发生的事情是您的AJAX请求被视为跨域请求(按照上一个答案读取CORS),并且Netsuite不处理CORS。

我自己,我对JSONP也没有运气。