我正在使用带有.ajax
的jQuery调用web服务以下是呼叫的数据参数:
var parameters = "{'Titre':'" + Titre + "','Description':'" + Description + "','Contact':'" + Contact + "','VilleId':'" + VilleId + "','QuartierId':'" + QuartierId + "','UserId':'" + UserId + "'}";
工作正常。但是当参数Description
或Titre
包含'
字符时,不会调用!!!
有人知道如何在Titre
和/或Description
中使用撇号字符使其工作吗?
答案 0 :(得分:3)
我会使用json编码器。 Douglas Crockford的JSON in JavaScript似乎是一个不错的选择。
然后你就写了
var param = JSON.stringify({ 'Titre': Titre, 'Description': Description });
让主人担心引用。
答案 1 :(得分:2)
尝试逃避撇号:
var parameters = "{
'Titre':'" + Titre.replace(/'/g,"\'") +
// ^
"','Description':'" + Description +
"','Contact':'" + Contact +
"','VilleId':'" + VilleId +
"','QuartierId':'" + QuartierId +
"','UserId':'" + UserId + "'}";
答案 2 :(得分:0)
您可能需要对要在URL中安全传递的值进行编码。
答案 3 :(得分:0)
您可以尝试转义它:
var str = "asdfsd'asdfadf";
str = str.replace("'", "\'");
答案 4 :(得分:0)
这是目前对我有效的逃生方式:
var theString = "O'Kief blahblahblahblah";
theString = theString .replace("'", "\\'");
//Note the double \\
不会破坏并保存为:O'Kief blahblahblahblah