Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
ScriptExecutionFailed
Hata kodu
steps.javascript.ScriptExecutionFailed
Hata yanıtı gövdesi
{ "fault": { "faultstring": "Execution of javascript_policy_name failed with error: error_type: error_description. (javascript_source_file_name)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
Hata türleri ve olası nedenleri
JavaScript politikası, birçok farklı türde ScriptExecutionFailed hatası verebilir. Daha sık görülen hatalardan bazıları aşağıdaki tabloda listelenmiştir:
Hatanın Türü | Neden |
Aralık Hatası | Yasal değerler aralığı dışında bir sayı kullanırsanız RangeError döndürülür. |
Referans Hatası | Tanımlanmamış bir değişken kullanırsanız (referans) bir ReferenceError hatası verilir. |
Söz dizimi hatası | Söz dizimi hatası olan kodu değerlendirmeye çalışırsanız SyntaxError hata mesajı alırsınız. |
Tür Hatası | Beklenen tür aralığının dışında bir işlem kullanırsanız TypeError bildirilir. |
URI Hatası | URI işlevinde geçersiz karakterler kullanırsanız URIError döndürülür. |
Aralık hatası
Bir değer üzerinde işlem yaptığınızda veya izin verilen değerler kümesinde veya aralığında olmayan bir işleve değer aktardığınızda RangeError
hata türü verilir.
Örneğin, bu hata aşağıdaki durumlarda verilir:
- Date API'lerin bazılarıyla 31 Eylül 2018 gibi geçersiz bir tarih kullanıyorsanız.
Number.toPrecision()
,Number.tofixed()
veyaNumber.toExponential()
gibi sayısal yöntemlere geçersiz bir değer iletirseniz. Örneğin,Number.toPrecision()
yönteminde 400 veya 500 gibi büyük bir değer geçirdiğinizi varsayalım. Bu durumda bir aralık hatası alırsınız.- Geçersiz uzunlukta bir dizi oluşturursanız.
Hata yanıtı gövdesi
{ "fault": { "faultstring": "Execution of javascript_policy_name failed with error: Javascript runtime error: \"RangeError: error_description. (javascript_source_file_name:line_number)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
Not: Aralık hatalarının teşhisi ve çözümü, JavaScript politikası tarafından verilen hata mesajının tamına bağlıdır. Aşağıda referans olarak kullanabileceğiniz birkaç örnek açıklanmaktadır.
1. Örnek: Geçersiz Tarih
Örnek hata yanıtı gövdesi
{
"fault": {
"faultstring": "Execution of ParseDate failed with error: Javascript runtime error: \"RangeError: Date is invalid. (ParseDate.js:2)\"",
"detail": {
"errorcode": "steps.javascript.ScriptExecutionFailed"
}
}
}
Teşhis
JavaScript politikasını, kaynak dosyasını, hatanın oluştuğu satır numarasını ve hata açıklamasını tanımlayın. Tüm bu bilgileri, hata yanıtının
faultstring
öğesinde bulabilirsiniz. Örneğin, aşağıdakifaultstring
politikasında JavaScript politikasının adıParseDate
, JavaScript kaynak dosyasıParseDate.js
, hatanın oluştuğu satır numarası2
ve hata açıklamasıDate is invalid
'dır:"faultstring": "Execution of ParseDate failed with error: Javascript runtime error: \"RangeError: Date is invalid. (ParseDate.js:2)\""
JavaScript kaynak dosyasını inceleyin (yukarıdaki 1. adımda tanımlanır) ve hatada belirtilen satır numarasında geçersiz bir tarih kullanılıp kullanılmadığını veya satır numarasında kullanılan değişkenin geçersiz bir tarih olup olmadığını kontrol edin. Geçersiz bir tarih kullanılmışsa hatanın nedeni budur.
Aşağıda, bu hataya neden olan örnek bir JavaScript kaynak dosyası verilmiştir:
ParseDate.js
var date = new Date('2018-09-31T11:19:08.402Z'); date.toISOString();
Bu örnekte, 2. satırda
date
değişkeni kullanılmıştır. Kaynak dosyayı incelediğinizde,date
değişkeninin geçersiz bir tarihle ayarlandığını görebilirsiniz:2018-09-31T11:19:08.402Z.
Eylül ayında 31 gün olmadığı için bu tarih geçersizdir.Not: Bu örnekte kullanılan ISO-8601 biçimi şu şekildedir:
YYYY-MM-DDTHH:mm:ss.sssZ
Çözünürlük
JavaScript kodunda Tarih API'lerini kullanırken her zaman geçerli bir tarih kullandığınızdan emin olun.
Yukarıda gösterilen örnek JavaScript kodunu düzeltmek için tarihi aşağıda gösterildiği gibi Sept 30 2018
olarak ayarlayabilirsiniz:
var date = new Date('2018-09-30T11:19:08.402Z');
date.toISOString();
2. Örnek: Hassasiyet API'lerine geçersiz sayı iletilme
Örnek hata yanıtı gövdesi
{
"fault": {
"faultstring": "Execution of SetNumberPrecision failed with error: Javascript runtime error: "RangeError: Precision 400 out of range. (SetNumberPrecision.js:2)\"",
"detail": {
"errorcode": "steps.javascript.ScriptExecutionFailed"
}
}
}
Teşhis
JavaScript politikasını, kaynak dosyasını, hatanın oluştuğu satır numarasını ve hata açıklamasını tanımlayın. Tüm bu bilgileri, hata yanıtının
faultstring
öğesinde bulabilirsiniz. Örneğin, aşağıdakifaultstring
politikasında JavaScript politikasının adıSetNumberPrecision
, JavaScript kaynak dosyasıSetNumberPrecision.js
, hatanın oluştuğu satır numarası 2 ve hata açıklamasıPrecision 400 out of range.
şeklindedir."faultstring": "Execution of SetNumberPrecision failed with error: Javascript runtime error: "RangeError: Precision 400 out of range. (SetNumberPrecision.js:2)\""
JavaScript kaynak dosyasını inceleyin (yukarıdaki 1. adımda tanımlanır). Hata açıklaması bölümünde belirtilen büyük sayı, ilgili satır numarasında kullanılıyorsa hatanın nedeni budur.
Aşağıda, bu hataya neden olan örnek bir JavaScript kaynak dosyası verilmiştir:
SetNumberPrecision.js
var number = 12.3456; var rounded_number = number.toPrecision(400); print("rounded_number = " + rounded_number);
Bu örnekte, 2. satırda 400 gibi büyük bir değerin kullanıldığına dikkat edin. Kesinlik düzeyini bu kadar çok sayıda basamak olarak ayarlayamayacağınız için aşağıdaki hatayı alırsınız:
"faultstring": "Execution of SetNumberPrecision failed with error: Javascript runtime error: "RangeError: Precision 400 out of range. (SetNumberPrecision.js:2)\""
Çözünürlük
toPrecision()
yönteminde kullanılan sayının, izin verilen değerler grubunda olduğundan emin olun.
Yukarıda açıklanan örnek JavaScript ile ilgili sorunu düzeltmek için anlamlı basamak sayısını geçerli olan 2 olarak ayarlayın:
var number = 12.3456;
var rounded_number = number.toPrecision(2);
print("rounded_number = " + rounded_number);
Referans hatası
JavaScript'inizde tanımlanmamış bir değişken kullanıldığında (başvurulan) veya çalıştırıldığında ReferenceError
hata türü verilir.
Hata yanıtı gövdesi
{ "fault": { "faultstring": "Execution of javascript_policy_name failed with error: Javascript runtime error: \"ReferenceError: variable_name is not defined. (javascript_source_file_name:line_number)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
Örnek hata yanıtı gövdesi
{
"fault": {
"faultstring": "Execution of ComputeTotalPrice failed with error: Javascript runtime error: \"ReferenceError: \"price\" is not defined. (ComputeTotalPrice.js:3)\"",
"detail": {
"errorcode": "steps.javascript.ScriptExecutionFailed"
}
}
}
Teşhis
JavaScript politikasını, kaynak dosyasını ve tanımlanmamış değişkene referans verilen satır numarasını tanımlayın. Tüm bu bilgileri, hata yanıtının
faultstring
öğesinde bulabilirsiniz. Örneğin, aşağıdakifaultstring
politikasında JavaScript politikasının adıComputeTotalPrice
, karşılık gelen kaynak dosyasıComputeTotalPrice.js
, hatanın oluştuğu satır numarası3
ve tanımlanmamış değişken adıprice.
'dır."faultstring": "Execution of ComputeTotalPrice failed with error: Javascript runtime error: \"ReferenceError: \"price\" is not defined. (ComputeTotalPrice.js:3)\""
JavaScript kaynak dosyasındaki satır numarasını inceleyin ve yukarıdaki 1. adımda tanımlanan tanımlanmamış değişkene referans verildiğini doğrulayın. Örneğin, aşağıdaki JavaScript kodu 3. satırdaki tanımlanmamış
price
değişkenine başvuruda bulunmaktadır ve bu değişken, hata dizesindeki değerle eşleşir:ComputeTotalPrice.js
var item = context.getVariable("request.queryparam.item"); var quantity = context.getVariable("request.queryparam.quantity"); var totalprice = parseInt(quantity) * parseInt(price); context.setVariable("TotalPrice", totalprice);
Belirli bir değişkenin JavaScript kodu içinde tanımlanıp tanımlanmadığını kontrol edin. Değişken tanımlı değilse hatanın nedeni budur.
Yukarıda gösterilen örnek komut dosyasında bildirilmemiş/tanımlanmış
price
değişkeni kullanılmıştır. Bu nedenle, aşağıdaki hatayı görürsünüz:"faultstring": "Execution of ComputeTotalPrice failed with error: Javascript runtime error: \"ReferenceError: \"price\" is not defined. (ComputeTotalPrice.js:3)\""
Çözünürlük
JavaScript kodunda başvurulan tüm değişkenlerin doğru bir şekilde tanımlandığından emin olun.
Yukarıda gösterilen örnek JavaScript ile ilgili sorunu düzeltmek için, kullanmadan önce değişken fiyatını tanımlayın. Örneğin:
var item = context.getVariable("request.queryparam.item");
var quantity = context.getVariable("request.queryparam.quantity");
var price = context.getVariable("request.queryparam.price");
var totalprice = parseInt(quantity) * parseInt(price);
context.setVariable("TotalPrice", totalprice);
Sözdizimi hatası
JavaScript motoru, dilin söz dizimine uygun olmayan jetonlar veya jeton sırası ile karşılaştığında ya da JSON/XML ayrıştırması gibi ayrıştırıcı API'lerine geçersiz bir biçim girişi geçirildiğinde SyntaxError
hata türü verilir.
Örneğin, geçersiz veya bozuk JSON yükü JavaScript politikasında kullanılan JSON.parse
API'ye giriş olarak aktarılırsa bu hatayı alırsınız.
Hata yanıtı gövdesi
{ "fault": { "faultstring": "Execution of javascript_policy_name failed with error: Javascript runtime error: \"SyntaxError: error_description. (javascript_source_file_name:line_number)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
Örnek hata yanıtı gövdesi
{
"fault": {
"faultstring": "Execution of ParseJSONRequest failed with error: Javascript runtime error: \"SyntaxError: Unexpected token: <. (ParseJSONRequest.js:2)\"",
"detail": {
"errorcode": "steps.javascript.ScriptExecutionFailed"
}
}
}
Teşhis
JavaScript politikasını, kaynak dosyasını, hatanın oluştuğu satır numarasını ve hata açıklamasını tanımlayın. Tüm bu bilgileri, hata yanıtının
faultstring
öğesinde bulabilirsiniz. Örneğin, aşağıdakifaultstring
politikasında JavaScript politikasının adıParseJSONRequest
, JavaScript kaynak dosyasıParseJSONRequest.js
, hatanın oluştuğu satır numarası2
ve hata açıklamasıUnexpected token
'dır:"faultstring": "Execution of ParseJSONRequest failed with error: Javascript runtime error: \"SyntaxError: Unexpected token: <. (ParseJSONRequest.js:2)\""
JavaScript kaynak dosyasındaki 2. satırı inceleyin (yukarıdaki 1. adımda açıklanmıştır) ve hangi işlemin yürütüldüğünü kontrol edin. Bir
JSON.parse()
işlevi yürütülüyorsa buna iletilen giriş parametresini kontrol edin. Giriş parametresi geçerli değilse veya bozuk JSON ise hatanın nedeni budur.Aşağıda, bu hataya neden olan örnek bir JavaScript kodu verilmiştir:
var input = context.getVariable("request.content"); var result = JSON.parse(input);
Bu örnekte, API Proxy'sine iletilen istek yükü (
request.content
)JSON.parse()
işlevinin girdisi olarak kullanılır.Aşağıda, isteğin nasıl iletildiğini gösteren örnek API çağrısı verilmiştir:
curl -v "http://<org>-<env>.apigee.net/v1/js-demo" -H "Content-Type: application/json" -X POST -d '<city>Bangalore</city>'
Yukarıdaki istekte, aşağıdaki XML yükü
<city>Bangalore</city>
API Proxy'sine iletilir.JSON.parse
API, geçerli bir JSON iletilmesini bekler ancak bunun yerine XML yükü iletildiği için aşağıdaki hatayı vererek başarısız olur:"Execution of ParseJSONRequest failed with error: Javascript runtime error: \"SyntaxError: Unexpected token: <. (ParseJSONRequest.js:2)\""
Çözünürlük
JavaScript kodunda kullanılan ayrıştırma API'lerine geçerli girişi ilettiğinizden emin olun.
Yukarıda açıklanan örnek politikayla ilgili sorunu düzeltmek için aşağıdaki gibi geçerli bir JSON yükü isteği iletin:
curl -v "http://<org>-<env>.apigee.net/v1/js-demo" -H "Content-Type: application/json" -X POST -d '{"city" : "Bangalore"}'
Tür hatası
TypeError
hata türü şu durumlarda gönderilir:
- Bir işleve geçirilen işlem gören veya bağımsız değişken, söz konusu operatörün veya işlevin beklediği türle uyumlu değil.
- Bir işlev boş, tanımlanmamış veya yanlış bir nesnede çağrılır.
- Bir mülke boş, tanımlanmamış veya yanlış bir nesneden erişiliyor.
Örneğin, bir tür hatası verilir:
- Bir sayı üzerinde
toUpperCase()
işlevini çağırmaya çalışırsanız. Bunun nedeni,toUpperCase()
işlevinin yalnızca dize nesnelerinde çağrılabilmesidir. - Boş veya tanımlanmamış bir nesneden bir özelliği okumaya çalışırsanız.
Hata yanıtı gövdesi
{ "fault": { "faultstring": "Execution of javascript_policy_name failed with error: Javascript runtime error: \"TypeError: error_description. (javascript_source_file_name:line_number)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
1. Örnek: Bir işlevi yanlış nesnede çağırma
Desteklenmeyen bir nesnede bir işlev çağırmaya çalışırsanız bu hatayı alırsınız.
Örneğin, bir numarada toUpperCase()
işlevini çağırmaya çalışırsanız hata alırsınız. Bunun nedeni, toUpperCase()
işlevinin yalnızca dize nesneleri üzerinde çağrılabilmesidir.
Örnek hata yanıtı gövdesi
{
"fault": {
"faultstring": "Execution of ConvertToUpperCase failed with error: Javascript runtime error: \"TypeError: Cannot find function toUpperCase in object 100. (ConvertToUpperCase.js:2)\"",
"detail": {
"errorcode": "steps.javascript.ScriptExecutionFailed"
}
}
}
Teşhis
JavaScript politikasını, kaynak dosyasını, hatanın oluştuğu satır numarasını ve hata açıklamasını tanımlayın. Tüm bu bilgileri, hata yanıtının
faultstring
öğesinde bulabilirsiniz. Örneğin, aşağıdakifaultstring
politikasında JavaScript politikasının adıConvertToUpperCase
, kaynak dosyaConvertToUpperCase.js
, satır numarası2
ve hata açıklaması **Cannot find function toUpperCase in object 100.
şeklindedir."faultstring": "Execution of ConvertToUpperCase failed with error: Javascript runtime error: \"TypeError: Cannot find function toUpperCase in object 100. (ConvertToUpperCase.js:2)\""
Hata açıklaması, sayısal değeri 100 olan bir nesnede
toUpperCase()
işlevini çağırdığınızı gösteriyor.JavaScript kaynak dosyasını inceleyin ve 2. satırda (yukarıdaki 1. adımda tanımlanır) sayısal değeri 100 olan bir nesnede
toUpperCase()
işlevini çağırıp çağırdığınızı doğrulayın. Yanıtınız evetse, hatanın nedeni budur.Aşağıda, bu hataya neden olan örnek bir JavaScript kaynak dosyası verilmiştir:
ConvertToUpperCase.js
var number = 100; var result = number.toUpperCase();
Yukarıda gösterilen JavaScript kodunda
number
değişkeni 100 değerine ayarlanmıştır. Daha sonra,toUpperCase()(
işlevi sayı nesnesinde çağrılır.toUpperCase()
işlevi yalnızca dize nesnelerinde çağrılabileceği için şu hatayı alırsınız:"Execution of ConvertToUpperCase failed with error: Javascript runtime error: \"TypeError: Cannot find function toUpperCase in object 100. (ConvertToUpperCase.js:2)\""
Çözünürlük
Geçerli nesnelerde her zaman toUpperCase()
gibi işlevleri kullanın.
Yukarıda gösterilen örneği düzeltmek için dize değişkeni oluşturabilir ve ardından bir dizede toUpperCase()
işlevini çağırabilirsiniz:
var text = "Hello Apigee !";
var result = text.toUpperCase();
Örnek 2: Tanımlanmamış bir nesnenin özelliği okunamıyor
Tanımlanmamış bir nesneden bir özelliğe erişmeye veya özelliği okumaya çalışırsanız bu hatayı alırsınız. Örneğin, bir dizideki nesneden verilere erişmeye çalıştığınızda ancak nesne tanımlanmadığında bu hata ortaya çıkabilir. Aşağıdaki ayrıntılı açıklamayı inceleyin.
Örnek hata yanıtı gövdesi
{
"fault": {
"faultstring": "Execution of ParseJSONResponse failed with error: Javascript runtime error: \"TypeError: Cannot read property \"length\" from undefined. (ParseJSONResponse.js:7)\"",
"detail": {
"errorcode": "steps.javascript.ScriptExecutionFailed"
}
}
}
Teşhis
JavaScript politikasını, kaynak dosyasını, hatanın oluştuğu satır numarasını ve hata açıklamasını tanımlayın. Tüm bu bilgileri, hata yanıtının
faultstring
öğesinde bulabilirsiniz. Örneğin, aşağıdakifaultstring
içinde politika adıParseJSONResponse
, kaynak dosyaParseJSONResponse.js
, satır numarası6
ve hata açıklamasıCannot read property "length" from undefined
'dir."faultstring": "Execution of ParseJSONResponse failed with error: Javascript runtime error: \"TypeError: Cannot read property \"length\" from undefined. (ParseJSONResponse.js:6)\""
Hata, length özelliğinin tanımlanmamış bir nesneden okunamayacağını belirtir.
JavaScript kaynak dosyasındaki (yukarıdaki 1. adımda tanımlanır) satır numarasını inceleyin ve nesnenin geçerli bir değere sahip olup olmadığını veya tanımlanmamış olduğunu doğrulayın. Belirli bir nesnenin nasıl tanımlandığını veya türetildiğini belirlemek ve nesnenin neden tanımsız olduğunu belirlemek için kaynak dosyanın tamamını okuyup anlamanız gerekebilir. Belirli bir nesnenin gerçekten tanımsız olduğunu fark ederseniz ve bundan özellik uzunluğuna erişmeye çalışıyorsanız, hatanın nedeni budur.
Bu sorunu daha iyi anlamak için bir örneği inceleyelim:
Arka uç sunucudan aşağıdaki JSON yanıtını aldığınızı varsayalım:
{ "cars": [ { "name":"Toyota", "count": 150 } { "name":"Honda", "count": 100 }, { "name":"Ford", "count": 75 } ] }
Aşağıda, bu JSON yanıtını ayrıştıran ve yukarıda bahsedilen hataya yol açan örnek bir JavaScript kaynak dosyası verilmiştir:
ParseJSONResponse.js
// Get the JSON response var jsonData = context.getVariable("response.content"); print (jsonData); // Read the cars array for (var i = 0; i < jsonData.cars.length; i++) { print("name = " + jsonData.cars[i].name); print("count = " + jsonData.cars[i].count); }
JavaScript kodunu dikkatli bir şekilde incelediğinizde, 2. satırda,
response.content
normal bir dize (tırnak içinde) olarakjsonData
değişkenine okundu/depolandı.jsonData
normal bir dize olduğundan,jsonData
öğesindencars
öğesine erişmeye çalıştığınızda (jsonData.cars
) tanımsız olur.Ardından,
jsonData.cars
öğesindenlength
özelliğini okumaya çalıştığınızda (tanımlanmamış) şu hatayı alırsınız:"faultstring": "Execution of ParseJSONResponse failed with error: Javascript runtime error: \"TypeError: Cannot read property \"length\" from undefined. (ParseJSONResponse.js:6)\""
Çözünürlük
JSON verilerini her zaman ilgili JSON API'lerini kullanarak JSON nesnesi olarak okuduğunuzdan emin olun.
Yukarıda açıklanan örnek JavaScript'i düzeltmek için response.content
nesnesinde JSON.parse()
işlevini kullanarak bunu bir JSON nesnesi olarak alabilirsiniz. Bunun ardından cars
dizisine erişebilir ve dizide başarılı bir şekilde iterasyon yapabilirsiniz.
// Get the JSON response
var data = context.getVariable("response.content");
var jsonData = JSON.parse(data);
print (jsonData);
// Read the cars array
for (var i = 0; i < jsonData.cars.length; i++)
{
print("name = " + jsonData.cars[i].name);
print("count = " + jsonData.cars[i].count);
}
URI Hatası
Bir URI işlevinde geçersiz karakterler kullanırsanız URIError
hata türü verilir.
Örneğin, decodeURI
veya decodeURIComponent
işlevlerine yüzde simgesi içeren bir URI iletirseniz bu hatayı alırsınız.
Hata yanıtı gövdesi
{ "fault": { "faultstring": "Execution of javascript_policy_name failed with error: Javascript runtime error: \"URIError: error_description. (javascript_source_file_name:line_number)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
Örnek hata yanıtı gövdesi
{
"fault": {
"faultstring": "Execution of URIDecode failed with error: Javascript runtime error: \"URIError: Malformed URI sequence. (URIDecode.js:2)\"",
"detail": {
"errorcode": "steps.javascript.ScriptExecutionFailed"
}
}
}
Teşhis
JavaScript politikasını, kaynak dosyasını, hatanın oluştuğu satır numarasını ve hata açıklamasını tanımlayın. Tüm bu bilgileri, hata yanıtının hata dizesi öğesinde bulabilirsiniz. Örneğin, aşağıdaki hata dizesinde JavaScript politikasının adı
URIDecode</code
, JavaScript kaynak dosyasıURIDecode.js
, satır numarası2
ve hata açıklamasıMalformed URI sequence
şeklindedir:"faultstring": "Execution of URIDecode failed with error: Javascript runtime error: \"URIError: Malformed URI sequence. (URIDecode.js:2)\""
Hata açıklaması,
URIDecode.js
öğesinin 2. satırında hatalı biçimlendirilmiş bir URI dizisinin kullanıldığını belirtiyor.JavaScript kaynak dosyasını inceleyin ve URI işlevlerinden herhangi birine iletilen bağımsız değişkenin geçersiz karakterler içerip içermediğini doğrulayın. Yanıtınız evetse hatanın nedeni budur.
Aşağıda, bu hataya neden olan örnek bir JavaScript kaynak dosyası verilmiştir:
URIDecode.js
var str = "75%-Completed"; var decoded_str = decodeURIComponent(str); context.setVariable("decoded_str", decoded_str);
Yukarıda gösterilen örnek JavaScript kodunda,
decodeURIComponent()
öğesine iletilenstr
değişkeni geçersiz bir karakter olarak kabul edilen bir yüzde sembolüne sahiptir. Bu nedenle şu hatayı alırsınız:"Execution of URIDecode failed with error: Javascript runtime error: \"URIError: Malformed URI sequence. (URIDecode.js:2)\""
Çözünürlük
URI işlevlerinde kullanılan tüm karakterlerin yasal olduğundan ve izin verildiğinden emin olun.
Yukarıda açıklanan örnek JavaScript ile ilgili sorunu düzeltmek için yüzde simgesini kodlayın. Örneğin, %25
:
var str = "75%25-Completed";
var decoded_str = decodeURIComponent(str);
context.setVariable("decoded_str", decoded_str);