2016-09-27 14 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

非常感谢你!这工作.. :) –