2016-09-27 15 views
0

我想將URL作爲字符串參數傳遞給API控制器POST方法。但是,由於URL中的特殊字符':',我得到'潛在危險請求'錯誤。如何通過AJAX調用將URL作爲參數傳遞給APIController?

格式的URL將「HTTP | S:// XXXXXXXXX/.../....等

我想是encodeURI,但它仍然是失敗的。

$.ajax({ 
    type: "POST", 
    url: "http://localhost:101/api/Sample/" + encodeURI(url), 
    contentType: "application/json; charset=utf-8", 
    dataType: "json".... 
}) 

回答

0

Asuming要將數據發佈到「http://localhost:101/api/Sample/」你必須使用encodeURI(URL)添加到您的POST請求的請求體。像這樣。

var formData = {urlParameter:encodeURI(url)}; //Json 
$.ajax({ 
    url : "http://localhost:101/api/Sample/", 
    type: "POST", 
    data : formData, 
    success: function(data, textStatus, jqXHR) 
    { 
     //handle success 
    }, 
    error: function (jqXHR, textStatus, errorThrown) 
    { 
     //Handle error 
    } 
}); 

您發送到的Sample方法必須具有參數,該參數對應於formData變量中json中指定的參數。

+0

非常感謝你!這工作.. :) –