Javascript ajax Web服务调用中的撇号问题
我正在使用jQuery和.ajax调用一个Web服务 以下是调用的数据参数:Javascript ajax Web服务调用中的撇号问题,javascript,asp.net,jquery,ajax,webservice-client,Javascript,Asp.net,Jquery,Ajax,Webservice Client,我正在使用jQuery和.ajax调用一个Web服务 以下是调用的数据参数: var parameters = "{'Titre':'" + Titre + "','Description':'" + Description + "','Contact':'" + Contact + "','VilleId':'" + VilleId + "','QuartierId':'" + QuartierId + "','UserId':'" + UserId + "'}"; 它很好用。但是当参数
var parameters = "{'Titre':'" + Titre + "','Description':'" + Description + "','Contact':'" + Contact + "','VilleId':'" + VilleId + "','QuartierId':'" + QuartierId + "','UserId':'" + UserId + "'}";
它很好用。但是当参数Description
或Titre
包含“
字符时,不调用
是否有人知道如何使其工作,即使在
标题
和/或说明
中使用撇号字符?您可能需要对URL中安全传递的值进行编码
您可能需要对要在URL中安全传递的值进行编码
尝试跳过撇号:
var parameters = "{
'Titre':'" + Titre.replace(/'/g,"\'") +
// ^
"','Description':'" + Description +
"','Contact':'" + Contact +
"','VilleId':'" + VilleId +
"','QuartierId':'" + QuartierId +
"','UserId':'" + UserId + "'}";
试着避开撇号:
var parameters = "{
'Titre':'" + Titre.replace(/'/g,"\'") +
// ^
"','Description':'" + Description +
"','Contact':'" + Contact +
"','VilleId':'" + VilleId +
"','QuartierId':'" + QuartierId +
"','UserId':'" + UserId + "'}";
我会使用json编码器。道格拉斯·克罗克福德似乎是个不错的选择 那你就写吧
var param = JSON.stringify({ 'Titre': Titre, 'Description': Description });
让主人来担心引用。我会使用json编码器。道格拉斯·克罗克福德似乎是个不错的选择 那你就写吧
var param = JSON.stringify({ 'Titre': Titre, 'Description': Description });
让大师来担心引用。你可以试着避开它:
var str = "asdfsd'asdfadf";
str = str.replace("'", "\'");
您可以尝试转义它:
var str = "asdfsd'asdfadf";
str = str.replace("'", "\'");
以下是我目前的逃避方式:
var theString = "O'Kief blahblahblahblah";
theString = theString .replace("'", "\\'");
//Note the double \\
不中断并另存为:O'Kief Blahblahblahblahblahblah以下是我目前的逃避方式:
var theString = "O'Kief blahblahblahblah";
theString = theString .replace("'", "\\'");
//Note the double \\
不中断并另存为:O'Kief Blahblahblahblahblahblahblah可能重复的可能重复的可能重复的“我如何才能精确地确定问题的答案”。当您确定哪个答案对您最有帮助时,单击答案左侧的复选框大纲,将其标记为已接受的答案。这让其他人知道你的问题得到了很好的答案。这样做是有帮助的,因为它向其他人表明你从社区中获得了价值。(如果您不这样做,人们通常会礼貌地要求您返回并接受更多问题的答案!)--我如何确定问题是否得到了回答。当您确定哪个答案对您最有帮助时,单击答案左侧的复选框框框框,将其标记为已接受答案。这让其他人知道你的问题得到了很好的答案。这样做是有帮助的,因为它向其他人表明你从社区中获得了价值。(如果你不这样做,人们通常会礼貌地要求你回去接受更多问题的答案!)--你是指Titre.replace(/'/g,“\\'”)你是指Titre.replace(/'/g,“\\'”)