2011-01-28 3 views
0

Я звоню WebService с помощью JQuery с .ajaxпроблема с апострофом в Ajax WebService вызова

Вот параметры данных для вызова:

var parameters = "{'Titre':'" + Titre + "','Description':'" + Description + "','Contact':'" + Contact + "','VilleId':'" + VilleId + "','QuartierId':'" + QuartierId + "','UserId':'" + UserId + "'}"; 

Он работает отлично. Но когда параметры Description или Titre содержат символ ', не звоните !!!

У кого-нибудь есть идея, как я могу заставить его работать даже с символом апострофа в Titre и/или Description?

+0

Возможный дубликат http://stackoverflow.com/questions/1470768/how-to-escape-apostrophe-or-quotes-on-a-jsp-used -by-javascript – Lance

ответ

3

Я хотел бы использовать JSon кодер. Хороший выбор для Douglas Crockford's JSON in JavaScript.

Тогда вы просто написать

var param = JSON.stringify({ 'Titre': Titre, 'Description': Description }); 

и пусть мастер беспокоиться о цитировании.

+0

он отлично работает. Большое вам спасибо. –

+0

Как я могу точно ответить на этот вопрос. –

+0

Когда вы определили, какой ответ наиболее полезен для вас, отметьте его как принятый ответ, нажав на рамку с надписью слева от ответа. Это позволяет другим людям знать, что вы получили хороший ответ на свой вопрос. Это полезно, потому что это показывает другим людям, что вы получаете ценность от сообщества. (Если вы этого не сделаете, люди часто будут вежливо просить вас вернуться и принять ответы на многие ваши вопросы!) - http://stackoverflow.com/faq –

2

Попробуйте избежать апостроф:

var parameters = "{ 
     'Titre':'" + Titre.replace(/'/g,"\'") + 
//      ^
     "','Description':'" + Description + 
     "','Contact':'" + Contact + 
     "','VilleId':'" + VilleId + 
     "','QuartierId':'" + QuartierId + 
     "','UserId':'" + UserId + "'}"; 
+1

Вы имеете в виду Titre.replace (/ '/ g, "\\'") – balint

0

Вы можете попытаться избежать этого:

var str = "asdfsd'asdfadf"; 
str = str.replace("'", "\'"); 
Смежные вопросы