2012-11-02 56 views
0

我有一個post請求我做像這樣:有沒有一種方法來發送對象以及一個獨立的變量在Ajax POST請求

var addProject = function (project, id) { 
      return $.ajax(projectUrl, { 
      type: "POST", 
      data: { project: project, id: id } 
    }); 
}; 

這是所有罰款,並將其發送了我項目對象(在JSON中)沒有問題。我想要做的是這個請求,但也添加了一個可以傳遞給服務器控制器的密鑰(不屬於項目對象)。任何想法,如果我能做到這一點,或者什麼是一個好辦法做到這一點。我真的不想回去改變我的對象模型來說明我只需要每隔一段時間就需要一個密鑰。

這是一個ASP.NET MVC4項目,如果重要的話,它將返回到web api控制器。

編輯:這裏是我的服務器端的東西

public HttpResponseMessage PostNew(Project project, int id) 
    { 
     //TODO grab the client to add the project to 
     Uow.Projects.Add(project); 
     Uow.Commit(); 

     HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, project); 
     //response.Headers.Location = new Uri(Url.Link("ApiControllerAction", new { id = client.ID })); 
     return response; 
    } 

也許我沒有說清楚就好了。我想傳入項目對象,然後只是一個int變量。獨自路過項目工程,但如果我嘗試通過詮釋它給了我一個400錯誤

回答

3
var addProject = function (project) { 
      return 
       $.ajax(projectUrl, { 
       type: "POST", 
       data: {data1 : 'Object',data2: 'variable'} 
       }); 
}; 

你剛纔送2個數據PARAMS,對象和VAR ..

+0

在服務器端,我如何訪問單獨的對象? ... – ledgeJumper

+0

ajax創建絕對正常POST .. 當你有正常的POST表單時,你如何獲得輸入數據? – Svetoslav

+0

我更新瞭如何在服務器上獲取它的問題。當我嘗試這樣做時,會給我一個400錯誤的請求 – ledgeJumper

0

最簡單的方式傳遞複雜的對象是JSON編碼它:

var addProject = function (project) { 
    return $.ajax(projectUrl, { 
     type: "POST", 
     contentType: 'application/json', 
     data: JSON.stringify(project) 
    }); 
}; 

要解碼這在服務器端,你將需要某種JSON解碼器。我確定C#有一些可用的。

相關問題